SELECT runnersUsers.ID, runnersUsers.surename, runnersUsers.lastname, runnersGroups.ID, runnersGroups.name, COUNT( runnersTimes.userID ) as count SELECT runnersUsers.ID, runnersUsers.surename, runnersUsers.lastname, runnersGroups.ID, runnersGroups.name, COUNT( runnersTimes.userID ) as count Du måste även konvertera från null till 0 för att de saknade posterna ska räknas... <Du måste även konvertera från null till 0 för att de saknade posterna ska räknas... just att ändra till LEFT JOIN fixade problemet.visa trots att count blir 0
FROM runnersUsers
JOIN runnersGroups ON runnersUsers.groupID = runnersGroups.ID
INNER JOIN runnersTimes ON runnersUsers.ID = runnersTimes.userID
GROUP BY runnersUsers.surename
ORDER BY count DESC, runnersUsers.lastname, runnersUsers.surename
Några count är som skrivit 0, men jag vill att även de skall visas.
hur?Sv: visa trots att count blir 0
FROM runnersUsers
JOIN runnersGroups ON runnersUsers.groupID = runnersGroups.ID
LEFT JOIN runnersTimes ON runnersUsers.ID = runnersTimes.userID
GROUP BY runnersUsers.surename
ORDER BY count DESC, runnersUsers.lastname, runnersUsers.surename
Från INNER JOIN till LEFT JOIN Sv:visa trots att count blir 0
Med LEFT JOIN kommer de saknade posternas userId att vara NULL och de tas ej med vid COUNT()
COUNT( isNull ( runnersTimes.userID , 0 ) ) as count
iaf. i SQL server.. (MySQL bör funka likadant på den punkten, kanske har man där en annan syntax för att konvertera från null till ngt)Sv: visa trots att count blir 0
<Med LEFT JOIN kommer de saknade posternas userId att vara NULL och de tas ej med vid COUNT()<COUNT( isNull ( runnersTimes.userID , 0 ) ) as count
<iaf. i SQL server..
Men då kommer ju saknade poster rapportera en COUNT på 1 - inte 0 - som är fallet om man skriver enligt originalförslaget. Vad skall resultatet bli?
/mickeSv:visa trots att count blir 0
tack för tips dock!