[英]Grouping and Removing duplicates except one column in SQL
我有 3 張桌子
id event_name
--- -----------
1 event1
2 event2
3 event3
id name
--- ----
1 john
2 smith
3 sooraj
id name speaker_id event_id
---- ---- -------- ------
1 session1 1 1
2 session2 2 1
3. session3 1 2
4. session1 1 3
5. session2 3 3
我需要得到這樣的結果....
id speakername event_name
--- ------------ -----------
1 john event1, event2, event3
2 smith event1
3. sooraj event3
如何在 MYSQL... 中得到這個?
謝謝。
您可以使用join
和group by
:
select sp.id, sp.name, group_concat(e.event_name separator ', ')
from speakers sp left join
sessions s
on sp.speaker_id = s.id left join
events e
on sp.event_id = e.id
group by sp.id, sp.name;
如果事件名稱可以針對給定發言人重復,您可以使用:
group_concat(distinct e.event_name separator ', ')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.