问题背景
有两张表,标签表和标签文章关联表,存在一对多关系。
入一篇文章对应多个标签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是一个字符串值,缺省为一个逗号。