Hej!
Har probelm med att få ut bästa tid för en distans, tillsammans med JOIN och tre tabeller:
[kod]Resultat
ResId
ResUser
ResDate
ResDistance
ResTime
Distanser
DistId (= Resultat.ResDistance)
DistName[/kod]
Försöker med JOIN på resultat och MIN, för att få den bästa tiden:
Problemet är att i resultatet förekommer samma distans (med olika tid) flera gånger, samt att datumet (ResDate) kommer från fel rad. D.v.s tiden är rätt, men den väljer ett datum från samma distans fast en annan tid.
Förslag på hur jag löser det här? Känns rätt straight forward och jag förstår inte varför det inte fungerar.
Tacksam för hjälp!
Har probelm med att få ut bästa tid för en distans, tillsammans med JOIN och tre tabeller:
[kod]Resultat
ResId
ResUser
ResDate
ResDistance
ResTime
Distanser
DistId (= Resultat.ResDistance)
DistName[/kod]
Försöker med JOIN på resultat och MIN, för att få den bästa tiden:
sql:
SELECT
`ResDate`, `ResDistance`, t2.`Result` AS `Result`, `DistName`
FROM `competition_result` t
INNER JOIN
( SELECT `ResId`, MIN(`ResTime`) `Result`
FROM `competition_result`
WHERE `ResUser` = :UserId
GROUP BY `ResDistance`
) t2
ON t.`ResId` = t2.`ResId`
INNER JOIN `competition_distance`
ON t.`ResDistance` = `DistId`
WHERE t.`ResUser` = :UserId
ORDER BY `Distance`, `ResTime`, `ResDate`
Problemet är att i resultatet förekommer samma distans (med olika tid) flera gånger, samt att datumet (ResDate) kommer från fel rad. D.v.s tiden är rätt, men den väljer ett datum från samma distans fast en annan tid.
Förslag på hur jag löser det här? Känns rätt straight forward och jag förstår inte varför det inte fungerar.
Tacksam för hjälp!
Kommentera