webForumDet fria alternativet

Två frågor om MySql

3 svar · 471 visningar · startad av tanten

tantenMedlem sedan nov. 20051 596 inlägg
#1

Den första är:
Hur får man ut alla rader från senaste datum något var inlagt?

Den andra är:
Jag vill hämta allt från tabell 1 men samtidigt räkna hur många gånger en person finns i tabell 2. Har försökt med
typ

SELECT * 
FROM plats
JOIN (
SELECT count( persID ) AS antal
FROM ort
GROUP BY persID
)
WHERE platsID =1

Har försökt med alias men jag får inte till det och skulle uppskatta hjälp :)

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select <kolumner>
   from t
  where datum = (select max(datum) from t)
select <kolumner>,
    count(ort.persid)
  from plats left join ort
     on plats.ortid = ort.id
  group by <kolumner>

Då du inte nämner hur plats och ort är relaterade så hittade jag på något.

tantenMedlem sedan nov. 20051 596 inlägg
#3

Nu har har jag försökt att få ut senaste datumets rader, men jag får ut tomt resultat och ser inte var felet kan finnas.
Om jag kör samma fråga med bestämt datum så fungerar det, så resten borde väl vara rätt då men...

SELECT S.loppID AS loppID, datum, loppNr, meter, number, placering, tid, summa, commentar, S.coverMime, S.coverImage, B.ban_name, M.typ, H.horse_name, P.beskrivning, K.kusk_name, T.tran_name
FROM fl_start S
INNER JOIN fl_hastar H ON S.horseID = H.horseID
INNER JOIN fl_bana B ON S.banID = B.banID
INNER JOIN fl_lopptyp M ON M.typID = S.typID
INNER JOIN fl_problem P ON P.problemID = S.problemID
INNER JOIN f_kuskar K ON K.kuskID = S.kuskID
INNER JOIN fl_tranare T ON T.tranID = H.trainer
WHERE datum = ( 
SELECT max( datum ) 
FROM fl_start ) 
AND S.problemID <9
ORDER BY ban_name, loppNr

Det kanske finns ett bättre sätt att få ut det på?

Håller på att testa ditt förslag på min andra fråga. Återkommer om den...

tantenMedlem sedan nov. 20051 596 inlägg
#4

Då du inte nämner hur plats och ort är relaterade så hittade jag på något.

Nej jag vet, men det är på så många platser som det är relaterat på olika sätt så ... men ditt exempel fungerade för mig på alla ställen... så jättetack för det.

Jag kom på varför det blev tomt resultat på min andra fråga,
AND S.problemID <9
innehåller datum i framtiden. Går det på något sätt att komma förbi det? Eller är det så att det inte kommer att gå?

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)