问题描述
将一张表或多张表分组,并将同组的某一字段拼接在一起。
解决方案
group_concat(字段名)
-- 将学生按班级分组,对同一班级的学生姓名进行拼接
SELECT classid,group_concat(stu_name) as stu_names FROM student GROUP BY classid
-- 将客户共享表crm_share_join中负责人beshare_uid 以cid分组并用逗号拼接起来,查询 new_charege 字段以 (创建人uid,负责人A,负责人B,负责人C...,) 形式展示
SELECT
s.cid,
s.beshare_uid,
s.share_uid,
c.creatid,
c.id,
c.charge_person,
CONCAT(c.creatid,',',group_concat(s.beshare_uid),',') as new_charege
FROM
crm_share_join s,
crm_customer c
WHERE
s.cid = c.id
AND s.creat_id <> s.beshare_uid
GROUP BY
s.cid
HAVING
new_charege<> c.charge_person