Partitur och evenemang måste sammanfogas före yttre förenar dem med spelare.
Vi skulle kunna använda en underfråga eller parenteser för att tvinga just denna join-"precedens", men det är trevligare att bara använda ordningen på JOINs i SQL-texten och sedan försiktigt "orientera" den sista JOIN till spelare (HÖGER i detta fall).
COALESCE är bara för att konvertera NULL till 0:or.
SELECT
P_Id, LastName, FirstName, COALESCE(SUM(Points), 0) TotalPoints
FROM
Scores
JOIN Events
ON Event = E_Id AND Year = 2012
RIGHT JOIN Players
ON P_Id = Player
GROUP BY
P_Id, LastName, FirstName
ORDER BY
TotalPoints DESC;
Detta ger:
P_ID LASTNAME FIRSTNAME TOTALPOINTS
1 Hansen Ola 6
2 Svendson Tove 0
3 Pettersen Kari 0
Du kan spela med den i denna SQL-fiol .