簡體   English   中英

sql 查詢具有 3 個具有多個值列的表

[英]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 BYGROUP_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM