gpt4 book ai didi

mysql - 多行到一列

转载 作者:行者123 更新时间:2023-11-29 05:01:30 25 4
gpt4 key购买 nike

table    A        B
column key name
1 John
1 Michael
2 Alice
2 Josh

当我执行此查询时在我的数据库上:

SELECT A.key, GROUP_CONCAT(B.name SEPARATOR ', ') 
FROM A
LEFT JOIN B ON A.key = B.key
WHERE B.name = 'John'
GROUP BY A.key

我的输出:

  key      name
1 John

预期输出:

  key      name
1 John, Michael

最佳答案

您可以在查询中添加一个 HAVING 子句,断言一组给定的 key 记录包含姓名 John:

SELECT
a.`key`,
GROUP_CONCAT(b.name) names
FROM A a
LEFT JOIN B b
ON a.`key` = b.`key`
GROUP BY
a.`key`
HAVING
SUM(b.name = 'John') > 0;

注意:key 是一个保留的 MySQL 关键字,你不应该用它来命名你的列(尽管你可能只是在上面举了它作为例子)。

关于mysql - 多行到一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58072382/

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