1 人が多くの部門に所属できるため、People と Departments の間には多対多の関係があります。
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 を使用してテーブルで単純な LEFT JOIN を実行すると、1 人の人物に関連する複数の行が取得されます。
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
試しましたが、うまくいきませんでした。
共有するアイデアはありますか?