Mysql 两个表之间的联接复制了一些结果

Mysql 两个表之间的联接复制了一些结果,mysql,sql,Mysql,Sql,我在PHP中通过这个查询连接了两个表: SELECT a.id,b.address FROM mytable a LEFT JOIN mysecondtable b ON a.`id`=b.`id` WHERE a.`Name` LIKE '?' 在表b中,我有两行具有相同的用户“id”,但对于查询,我希望如下所示: 对于相同结果中的一个id和两个地址 目前,我有两个结果,如下所示: 12 theaddress 12 thesecondaddress 我想 12 theaddress

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

SELECT a.id,b.address
FROM mytable a 
LEFT JOIN mysecondtable b 
ON a.`id`=b.`id` 
WHERE a.`Name` LIKE '?'
在表b中,我有两行具有相同的用户“id”,但对于查询,我希望如下所示: 对于相同结果中的一个id和两个地址

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

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

向我们展示更多的示例表数据及其预期结果。(但我更愿意说你应该重新设计你的桌子…)也许是团体会议?很难说您需要的是列还是字符串。