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

एक पंक्ति को दूसरी तालिका में एकाधिक पंक्तियों में शामिल करें

उपयोग करें:

   SELECT x.name,
          GROUP_CONCAT(y.property SEPARATOR ', ')
     FROM PEOPLE x
LEFT JOIN PROPERTIES y ON y.name = x.name
    WHERE x.age > 26
 GROUP BY x.name

आप MySQL फ़ंक्शन GROUP_CONCAT ( चाहते हैं दस्तावेज़ीकरण ) PROPERTIES.property मान की अल्पविराम से अलग की गई सूची वापस करने के लिए।

मैंने उन लोगों के रिकॉर्ड को शामिल करने के लिए जॉइन के बजाय LEFT JOIN का उपयोग किया, जिनका PROPERTIES टेबल में कोई मान नहीं है - यदि आप केवल PROPERTIES टेबल में मान वाले लोगों की सूची चाहते हैं, तो उपयोग करें:

   SELECT x.name,
          GROUP_CONCAT(y.property SEPARATOR ', ')
     FROM PEOPLE x
     JOIN PROPERTIES y ON y.name = x.name
    WHERE x.age > 26
 GROUP BY x.name

मुझे एहसास है कि यह एक उदाहरण है, लेकिन जब आप विचार करते हैं कि कितने "जॉन स्मिथ" हैं, तो नाम का उपयोग करना संदर्भात्मक अखंडता के लिए एक खराब विकल्प है। user_id असाइन करना, प्रति उपयोगकर्ता एक अद्वितीय मान होने के नाते, एक बेहतर विकल्प होगा।



  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 में एक स्ट्रिंग को "अनहेक्स" करने के 3 तरीके

  2. INSERT INTO... सभी MySQL कॉलम के लिए चुनें

  3. 1 पृष्ठ या सभी पृष्ठों पर सत्र प्रारंभ लिखें?

  4. चेतावनी:mysqli_query() पैरामीटर 1 को mysqli होने की अपेक्षा करता है, संसाधन दिया गया है

  5. चेतावनी:mysql_connect ():स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता