当前位置:首页 > 编程笔记 > 正文
已解决

Mysql一对多列转行拼接函数GROUP_CONCAT

来自网友在路上 170870提问 提问时间:2023-10-10 20:11:38阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

GROUP_CONCAT函数

一对多产生多条数据时, 返回记录会出现一的冗余数据条数, 我们可以把多的列转为行在一条数据中返回, 具体操作如下:

建表  A
字段  id, name, subject11,222,3
建表  B
字段  id, sub_name1   语文2   数学3   物理 

此时需要得到数据格式

11,2   语文,数学
22,3   数学,英语

查询语句如下

selectA.id, A.name, A.subject, GROUP_CONCAT(B.sub_name SEPARATOR ',') AS sub_names
from A 
left join B on FIND_IN_SET(B.id, A.subject)
group by A.id, A.name, A.subject

GROUP_CONCAT(字段 SEPARATOR 分隔符)
FIND_IN_SET(字段, 集合) 判断字段是否在集合里

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Mysql一对多列转行拼接函数GROUP_CONCAT":http://eshow365.cn/6-18544-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!