- GROUP_CONCAT(str):分组字符串拼接,与分组一起使用
案例:查询企业信息以及企业分类信息,其中企业分类信息和企业是多对多的关系,按普通的联表查询,我们会查询到一条企业信息对应多个企业分类,会出现多个记录。如果想实现把同一个企业的不同企业分类一个记录表示,就可以考虑使用GROUP_CONCAT,该函数会把多条数据拼接在一条数据上(默认使用,分割)
直接联表查询,会看到一个企业关联的企业分类是多个数据
select t_enterprise.*,
dic_enterprise_category.name as enterpriseCategoryNames,
dic_operation_status.name as operationStatusName,
dic_region.name as regionName
from t_enterprise
left join ref_enterprise_category
on t_enterprise.id = ref_enterprise_category.enterprise_id
left join dic_enterprise_category
on dic_enterprise_category.id = ref_enterprise_category.category_id
left join dic_operation_status
on t_enterprise.operate_status_id = dic_operation_status.id
left join dic_region
on t_enterprise.region_id = dic_region.id
使用GROUP_CONCAT
select
t_enterprise.*,
GROUP_CONCAT(DISTINCT dic_enterprise_category.name) as enterpriseCategoryNames,
dic_operation_status.name as operationStatusName,
dic_region.name as regionName
from t_enterprise
left join ref_enterprise_category
on t_enterprise.id = ref_enterprise_category.enterprise_id
left join dic_enterprise_category
on dic_enterprise_category.id = ref_enterprise_category.category_id
left join dic_operation_status
on t_enterprise.operate_status_id = dic_operation_status.id
left join dic_region
on t_enterprise.region_id = dic_region.id
GROUP BY id
```=
![在这里插入图片描述](https://img-blog.csdnimg.cn/5d0f232be04b4ccbbe6ee8d1d196b1f7.png)
-
版权声明:本文为m0_61820867原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。