इससे पहले . स्कोर और इवेंट को आंतरिक रूप से शामिल करने की आवश्यकता है बाहरी-उन्हें खिलाड़ियों से जोड़ना।
हम इस विशेष रूप से "प्राथमिकता" में शामिल होने के लिए एक सबक्वायरी या कोष्ठक का उपयोग कर सकते हैं, लेकिन एसक्यूएल टेक्स्ट में जॉइन के क्रम का उपयोग करना अच्छा है, और फिर खिलाड़ियों के लिए अंतिम जॉइन (इस मामले में दाएं) को ध्यान से "ओरिएंट" करें।पी>
COALESCE सिर्फ NULLs को 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 में खेल सकते हैं। ।