firstliang

mysql 一对多 查询 合并为一行数据

mysql 一对多 查询 合并为一行数据 | mysql GROUP_CONCAT()


SQL背景:两张表,一张表里有 id, tname, age(id主键)

另一张表里有 id, address

(id非主键,可重复,但是与上张表里的ID为同一条记录所产生的ID,故,此表中的id在上张表中必须存在)

两张表里的id为相同,同一条记录产生。

目的:合并为一条记录展示,id,tname, age, address, address, address........

有多少个与此id有关的address就拼成多少个

例如:1,张三,18,北京,上海,广州.

SELECT a.id, a.tname, a.age,

(SELECT GROUP_CONCAT(b.address) FROM testzzz b WHERE a.id = b.id) address

from testzzy a




评论