आप इसे एक ही क्वेरी में एक साधारण जुड़ाव के साथ प्राप्त कर सकते हैं, उदा.:
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