今天做项目统计,DB是mysql,结果发现一个问题,描述如下
3张表的关联,结果一个项目可能会有多个类型,所以会导致查询的记录一个项目出现多条记录,所以需要将项目类型合并在一个字段内,并只显示一条记录,测试后可以使用的语句如下:
select t1.name as name, t2.name as type, GROUP_CONCAT( t2.name
SEPARATOR ", " ) AS type2, t1.`desc`, t1.begin ,t1.end ,t1.status from zt_project t1, zt_product t2, zt_projectProduct t3
where t3.project = t1.id and t3.product = t2.id
and t1.begin between '2011-01-01' and '2011-03-31'
group by t1.name
order by begin
本文介绍了一种在MySQL中解决多表关联查询时遇到的问题的方法。具体来说,当一个项目可能对应多个类型时,如何通过GROUP_CONCAT函数将这些类型合并到一个字段内,并且仅展示一条记录。该解决方案使用了三个表之间的连接查询,并按项目名称进行了分组。
1145

被折叠的 条评论
为什么被折叠?



