我通过这个查询在我的 PHP 中加入了两个表:
SELECT a.id,b.address
FROM mytable a
LEFT JOIN mysecondtable b
ON a.`id`=b.`id`
WHERE a.`Name` LIKE '?'
Run Code Online (Sandbox Code Playgroud)
在表 b 中,我有 2 行具有相同的用户“id”,但是对于我想要的查询:对于同一个结果中的一个 id 两个地址
目前我有 2 个结果如下:
12 theaddress
12 thesecondaddress
Run Code Online (Sandbox Code Playgroud)
我想
12 theaddress thesecondaddress
Run Code Online (Sandbox Code Playgroud)
是否可以?
如果您最多有两个,则可以使用聚合:
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;
Run Code Online (Sandbox Code Playgroud)
如果您有不确定数量的地址,您可以将它们放入带有分隔符的字符串中:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |