Резултатите и събитията трябва да бъдат вътрешно свързани преди външен - присъединяването им към играчите.
Можем да използваме подзаявка или скоби, за да принудим този конкретен "предимство" на присъединяване, но е по-добре просто да използваме реда на JOIN в SQL текста и след това внимателно да "ориентираме" последния JOIN към играчите (ПРАВИЛНО в този случай).
COALESCE е само за преобразуване на NULL в 0s.
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;
Това произвежда:
P_ID LASTNAME FIRSTNAME TOTALPOINTS
1 Hansen Ola 6
2 Svendson Tove 0
3 Pettersen Kari 0
Можете да играете с него в този SQL Fiddle .