I punteggi e gli eventi devono essere collegati internamente prima unendoli all'esterno ai giocatori.
Potremmo usare una sottoquery o delle parentesi per forzare questa particolare "precedenza" di join, ma è più carino usare semplicemente l'ordine dei JOIN nel testo SQL, e quindi "orientare" attentamente l'ultimo JOIN ai giocatori (DESTRA in questo caso).
COALESCE serve solo per convertire NULL in 0.
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;
Questo produce:
P_ID LASTNAME FIRSTNAME TOTALPOINTS
1 Hansen Ola 6
2 Svendson Tove 0
3 Pettersen Kari 0
Puoi giocarci in questo SQL Fiddle .