• 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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_61820867/article/details/125977331