gpt4 book ai didi

mysql - 连接多个表时出现重复值

转载 作者:行者123 更新时间:2023-11-29 11:40:02 26 4
gpt4 key购买 nike

我正在尝试连接 3 个表来生成一个显示成员姓名、网站和音乐专辑的页面。

我遇到的问题是我收到了重复的数据。

例如,我返回的行重复专辑标题两次;并且网站值重复三次。

下面是我的表格的样子:

member_profiles

id | alias_name
2 | Lazy Turtle
3 | Ms. Cat

member_websites

id | member_id | site_url | site_title
57 | 3 | http://example.com | My Site
58 | 3 | http://fakesite.com | Cool Site
59 | 2 | http://anotherfake.com | Turtlez Site

music_albums

id | member_id | album_title
5 | 3 | Cats Rock N Roll
6 | 2 | My Slowness
7 | 3 | Meow Pt. II (The Remixes)
8 | 3 | The Worst Songs I've Made

如何解决这个问题,而不必分离我的查询并可能影响性能?我的 sql 查询看起来像这样:

SELECT mp.name, mw.site_url, mw.site_title, ma.album_title
FROM member_profiles mp
LEFT JOIN member_websites mw ON mw.member_id = mp.id
LEFT JOIN music_albums ma ON ma.member_id = mp.id
WHERE mp.id = 3

最佳答案

只需添加一些 GROUP_COCAT() 即可。

SELECT mp.name, GROUP_CONCAT(mw.site_url), GROUP_CONCAT(mw.site_title), GROUP_CONCAT(ma.album_title)
FROM member_profiles mp
LEFT JOIN member_websites mw ON mw.member_id = mp.id
LEFT JOIN music_albums ma ON ma.member_id = mp.id
WHERE mp.id = 3

关于mysql - 连接多个表时出现重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35953729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com