gpt4 book ai didi

mysql - 两个表之间的联接复制一些结果

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

我在 PHP 中通过此查询连接两个表:

SELECT a.id,b.address
FROM mytable a
LEFT JOIN mysecondtable b
ON a.`id`=b.`id`
WHERE a.`Name` LIKE '?'

在表 b 中,我有 2 行具有相同的用户“id”,但具有我想要的查询:对于同一结果中的一个 ID 和两个地址

目前我有 2 个结果,如下所示:

12 theaddress
12 thesecondaddress

我愿意

12 theaddress thesecondaddress

可能吗?

最佳答案

如果最多有两个,则可以使用聚合:

SELECT a.id MIN(b.address) as address1,
NULLIF(MAX(b.address), MIN(b.address)) as address2
FROM mytable a LEFT JOIN
mysecondtable b
ON a.`id`=b.`id`
WHERE a.`Name` LIKE ?
GROUP BY a.id;

如果地址数量不确定,可以将它们放入带有分隔符的字符串中:

SELECT a.id GROUP_CONCAT(b.address SEPARATOR '|') as addresses
FROM mytable a LEFT JOIN
mysecondtable b
ON a.`id`=b.`id`
WHERE a.`Name` LIKE ?
GROUP BY a.id

关于mysql - 两个表之间的联接复制一些结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55728449/

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