У меня есть отношения многие-ко-многим между людьми и департаментами, поскольку один человек может быть во многих департаментах.
People Departments
------ -----------
pID pName deptID deptName
1 James 1 Engineering
2 Mary 2 Research
3 Paul 3 Marketing
4 Communications
People_Departments
------------------
pID deptID
1 1
1 2
2 2
2 4
3 1
3 2
3 3
Что я хочу это:
pName deptName
James Engineering, Research
Mary Research, Communication
Paul Engineering, Research, Marketing
Если я выполню простые ЛЕВЫЕ СОЕДИНЕНИЯ для таблиц, используя приведенный ниже SQL, я получу несколько строк, связанных с одним человеком:
SELECT people.pName,
departments.deptName
FROM people
LEFT JOIN people_departments ON people.pID=people_departments.pID
LEFT JOIN departments ON people_departments.deptID=departments.deptID
Я пробовал различные комбинации GROUP_CONCAT
, но без удачи.
Есть идеи, чтобы поделиться?