スコアとイベントは、前に内部結合する必要があります それらをプレイヤーに外部結合します。
サブクエリまたは括弧を使用して、この特定の結合の「優先順位」を強制することもできますが、SQLテキストでJOINの順序を使用してから、最後のJOINをプレーヤーに慎重に「方向付け」する方がよいでしょう(この場合は右)。
COALESCEは、NULLを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;
これにより、次のようになります。
P_ID LASTNAME FIRSTNAME TOTALPOINTS
1 Hansen Ola 6
2 Svendson Tove 0
3 Pettersen Kari 0
この