需求:
People Departments------ -----------pID pName deptID deptName1 James 1 Engineering2 Mary 2 Research3 Paul 3 Marketing 4 CommunicationsPeople_Departments------------------pID deptID1 11 22 22 43 13 23 3需求 结果pName deptNameJames Engineering, ResearchMary Research, CommunicationPaul Engineering, Research, Marketing
解决方式:
SELECT people.pName,
GROUP_CONCAT(departments.deptName SEPARATOR ', ') deptName
FROM people
LEFT JOIN people_departments
ON people.pID = people_departments.pID
LEFT JOIN departments
ON people_departments.deptID = departments.deptID
GROUP BY people.pID
+-------+----------------------------------+
| pName | deptName |
+-------+----------------------------------+
| James | Engineering, Research |
| Mary | Research, Communications |
| Paul | Engineering, Research, Marketing |
+-------+----------------------------------+
3 rows in set (0.00 sec)