Tengo una relación de muchos a muchos entre personas y departamentos ya que una persona puede estar en muchos departamentos.¿Cómo concatenar datos de un campo, en una lista delimitada por comas, en una relación muchos a muchos en MySQL?
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
Lo que yo quiero es éste:
pName deptName
James Engineering, Research
Mary Research, Communication
Paul Engineering, Research, Marketing
Si hago IZQUIERDA llanura uniones en las tablas utilizando el SQL a continuación, voy a tener varias filas relacionada con una persona:
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
He intentado varias combinaciones de GROUP_CONCAT
pero sin suerte.
¿Alguna idea para compartir?
En realidad, ninguno de mis combinaciones funcionó porque omití el GROUP BY, la cual es muy importante. Obtengo datos de varias tablas relacionadas de muchos a muchos en mi proyecto real, y logré obtener los datos que quiero con su ayuda. ¡Gracias de nuevo! – shailenTJ