gpt4 book ai didi

mysql - 3 个表和 2 个带有 CONCAT 表达式的独立 JOIN

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

我有以下 3 个带 ID 的表

表:用户

user | name
1 | Joe
2 | John

表:user_id1

user | id1
1 | 2
1 | 3
2 | 5

表:user_id2

user | id2
1 | 3
1 | 4

我想为每个用户获得以下结果

name | ids 1 | ids 2
Joe | 2,3 | 3,4
John| 5 | NULL

我使用这个查询:

SELECT
user.name,
GROUP_CONCAT(user_id1.id1) AS "ids1",
GROUP_CONCAT(user_id2.id2) AS "ids2"

FROM users

LEFT JOIN user_id1
ON user_id1.user=users.user

LEFT JOIN user_id2
ON user_id2.user=users.user

但我得到了这个结果:

name | ids1    | ids2
Joe | 2,2,3,3 | 3,4,3,4
John | 5 | NULL

怎么了?感谢您的帮助

最佳答案

使用 DISTINCT 应​​该可以解决它

SELECT
user.name,
GROUP_CONCAT(DISTINCT user_id1.id1) AS "ids1",
GROUP_CONCAT(DISTINCT user_id2.id2) AS "ids2"

FROM users

LEFT JOIN user_id1
ON user_id1.user=users.user

LEFT JOIN user_id2
ON user_id2.user=users.user

关于mysql - 3 个表和 2 个带有 CONCAT 表达式的独立 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29086013/

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