簡體   English   中英

分組和刪除除 SQL 中的一列之外的重復項

[英]Grouping and Removing duplicates except one column in SQL

我有 3 張桌子

  1. 揚聲器
  2. 會話
  3. 活動

事件_tbl

id  event_name
--- -----------
1   event1
2   event2
3   event3

演講者_tbl

id  name
--- ----
1   john
2   smith
3   sooraj

Sessions_tbl

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... 中得到這個?

謝謝。

您可以使用joingroup 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.

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