前言:
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:
完结
网友评论