Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL एसयूएम और 3 टेबल के साथ जुड़ें

इससे पहले . स्कोर और इवेंट को आंतरिक रूप से शामिल करने की आवश्यकता है बाहरी-उन्हें खिलाड़ियों से जोड़ना।

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

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 में खेल सकते हैं। ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोडनिर्देशक में अपलोड करने पर छवि का आकार संपीड़ित करें

  2. MySQL IF/CASE सिंटैक्स जो अलग-अलग सेलेक्ट स्टेटमेंट को कॉल करता है

  3. mysql गलत कॉलम वृद्धि

  4. WebSecurity.CreateAccount MySQL के लिए विफल रहता है

  5. mysqldump, कम मेमोरी फ़ुटप्रिंट के बिना फ़ाइल करने के लिए बड़े डेटाबेस को निर्यात करें