[英]sql query with 3 tables with multiple values column
我有 3 個表:
參與者 (id, name) groups (id, name) participant_groups (participant_id, group_id)
我需要顯示一張包含所有參與者的表格和最后一列參與者的組,這可以是多個。
我有以下 select 返回所有參與者,但如果它有多個組,我有同一參與者的多個記錄。
SELECT *
FROM participants
CROSS JOIN groups
INNER JOIN participant_groups
ON groups.id = participant_groups.id
AND participants.id = participant_groups.id
ORDER BY participants.name, participants.id
謝謝
只需添加一個GROUP BY
和GROUP_CONCAT
:
SELECT participants.id, participants.name, GROUP_CONCAT(groups.name) AS group_list
FROM participants
LEFT JOIN participant_groups ON participants.id = participant_groups.participant_id
INNER JOIN groups ON participant_groups.group_id = groups.id
GROUP BY participants.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.