美文网首页
mysql 一对多 查询 合并为一行数据 | mysql G

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

作者: 之乏 | 来源:发表于2017-10-20 09:05 被阅读0次


前言:

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

另一张表里有 id, address

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

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

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

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

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


0x001:

未解决之前:

SELECT a.id,a.tname,a.age,b.address from testzzy a,testzzz b WHERE a.id = b.id

效果图:


0x002:

解决之后:

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

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

from testzzy a


效果图:

0x003:

GROUP_CONCAT (  参数...  )  查处后的多个  数据项  默认是以 逗号 分隔,可以更改。

GROUP_CONCAT(b.address  separator ";") 此句意思是查出来的  数据项 以 分号 间隔。

如图:

GROUP_CONCAT()函数,还有其余参数,自行查询,这里不再做详解。

0x004:

完结

相关文章

网友评论

      本文标题:mysql 一对多 查询 合并为一行数据 | mysql G

      本文链接:https://www.haomeiwen.com/subject/dqemuxtx.html