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

एक-से-अनेक संबंध के साथ जुड़ने का उपयोग करके SQL प्रश्नों को कम करना

आप इसे एक ही क्वेरी में एक साधारण जुड़ाव के साथ प्राप्त कर सकते हैं, उदा.:

SELECT   d.name AS 'department', p.name AS 'name'
FROM     department d
  LEFT JOIN people p ON p.department_id = d.id
ORDER BY department

यह सभी डेटा लौटाता है, लेकिन इसका उपभोग करने में थोड़ा दर्द होता है, क्योंकि आपको वैसे भी हर व्यक्ति के माध्यम से पुनरावृति करनी होगी। आप आगे जाकर उन्हें एक साथ समूहित कर सकते हैं:

SELECT   d.name AS 'department',
         GROUP_CONCAT(p.name SEPARATOR ', ') AS 'name'
FROM     department d
  LEFT JOIN people p ON p.department_id = d.id
GROUP BY department

आपको आउटपुट के रूप में कुछ इस तरह मिलेगा:

department | name
-----------|----------------
sales      | Tom, Bill, Rachel
marketing  | Jessica, John


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'PDOException' सिंटैक्स त्रुटि या पहुँच उल्लंघन:1064 आपको अपने SQL सिंटैक्स में त्रुटि है; जाँच करना

  2. PHP में पार्स कैसे करें और डेटाबेस में स्टोर करें?

  3. MySQL ट्रिगर नई पंक्ति के लिए मान सेट करता है और उसी तालिका में दूसरे को अपडेट करता है

  4. SQL कमांड का परिचय

  5. MySQL में दिनांक और समय इकाइयाँ (पूरी सूची)