需求如果有主表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;