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

जॉइन और GROUP_CONCAT तीन टेबल के साथ

यह विशेष रूप से कठिन नहीं है।

  1. जॉइन क्लॉज का उपयोग करके तीन तालिकाओं में शामिल हों।
  2. अपनी रुचि के क्षेत्रों में Group_concat का उपयोग करें।
  3. उन फ़ील्ड्स पर ग्रुप बाय क्लॉज़ को न भूलें जिन्हें आप संयोजित नहीं कर रहे हैं या अजीब चीजें होंगी


SELECT u.id, 
       u.Name, 
       Group_concat(us.id_sport order by pref) sport_ids, 
       Group_concat(s.name order by pref)      sport_names 
FROM   users u 
       LEFT JOIN User_Sports us 
               ON u.id = us.id_user 
       LEFT  JOIN sports s 
               ON US.id_sport = s.id 
GROUP  BY u.id, 
          u.Name 

DEMO

अपडेट करें जब उपयोगकर्ता के पास टिप्पणियों के अनुसार User_Sports में प्रविष्टियाँ नहीं हैं, तो LEFT JOIN करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - टेबल 'my_table' को लॉक टेबल्स के साथ लॉक नहीं किया गया था

  2. MySQL लोकलहोस्ट / 127.0.0.1 समस्या

  3. डेटाबेस से उपयोगकर्ता इनपुट से बचना आवश्यक है?

  4. PHP/MYSQL में एक के रूप में दो mysql प्रश्नों को कैसे निष्पादित करें?

  5. मैं डेटाबेस में डेटा को ठीक से कैसे सहेजूं?