mysql 一对多 查询 合并为一行数据 | mysql GROUP_CONCAT()函数 拼接 | mysql 主键相同 其余字段不同 合并为一条记录


前言:

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:

完结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容