mysql group_concat 獲取一對多的數據

需求如果有主表a,副表b,a表一條記錄對應b表多條記錄。
現在要一次性取出a表中的記錄,再附加a表每條記錄對應b表裏n條記錄的集合。

這類需求可以採用group_concat來實現。

select a.*,GROUP_CONCAT(b.field separator '\r\t')
from table1 as a
left join table2 as b ON a.id=b.a_id
where .....
group by b.a_id;


group_concat語法

group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '指定分隔符']) 

案例:

select a.id,a.mobile,a.disease_type,a.customer_status,a.update_time,GROUP_CONCAT(b.description separator '\r\t')
from signup as a
left join signup_follow as b ON a.id=b.signup_id
where a.disease_type in('肝癌','肝細胞癌') and a.status=1
group by b.signup_id;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章