Điểm và sự kiện cần được tham gia nội bộ trước tham gia bên ngoài chúng với người chơi.
Chúng ta có thể sử dụng một truy vấn con hoặc dấu ngoặc đơn để buộc "ưu tiên" tham gia cụ thể này, nhưng tốt hơn là chỉ sử dụng thứ tự của các JOIN trong văn bản SQL và sau đó cẩn thận "định hướng" THAM GIA cuối cùng tới các trình phát (RIGHT trong trường hợp này).
COALESCE chỉ để chuyển đổi NULL thành 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;
Điều này tạo ra:
P_ID LASTNAME FIRSTNAME TOTALPOINTS
1 Hansen Ola 6
2 Svendson Tove 0
3 Pettersen Kari 0
Bạn có thể chơi với nó trong SQL Fiddle này .