mysql一对多关联查询,将对应的多个值整合成一个

问题背景

有两张表,标签表和标签文章关联表,存在一对多关系。

入一篇文章对应多个标签id,我需要根据文章id返回所有的标签(几条数据整合为一条)

 

 解决方法

SELECT GROUP_CONCAT(DISTINCT ct.ch_name)  from cd_tag_mod ctm left join cd_tag ct on ctm.tag_id =ct.tag_id WHERE ctm.con_id='2050' GROUP BY ctm.con_id 

GROUP_CONCAT函数

1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc  ] [separator '分隔符'] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

猜你喜欢

转载自blog.csdn.net/KeepLearnZhangXiaoBo/article/details/118819102