MySQL查询:单个单元格中多个单元格的值
有一个表名MySQL查询:单个单元格中多个单元格的值,mysql,sql,group-concat,Mysql,Sql,Group Concat,有一个表名agents,其中包含一个代理列表,另一个表名为projects,,其中包含在该项目上工作的代理的项目列表和ID 我要寻找的输出是代理列表、他们管理的项目总数和项目列表 示例表: 代理 AgentID AgentName ------ --------- 1 Name1 2 Name2 3 Name3 项目 ProjectID ProjectName agentID --------- --
agents
,其中包含一个代理列表,另一个表名为projects,
,其中包含在该项目上工作的代理的项目列表和ID
我要寻找的输出是代理列表、他们管理的项目总数和项目列表
示例表:
代理
AgentID AgentName
------ ---------
1 Name1
2 Name2
3 Name3
项目
ProjectID ProjectName agentID
--------- ----------- -------
1 PName1 2
2 PName2 3
3 PName3 2
期望输出:
AgentName No. of Projects ProjectNames
--------- --------------- ------------
Name2 2 PName1
PName3
Name3 1 PName2
使用下面的查询,我可以将所有项目连接到一个单元格中
SELECT GROUP_CONCAT(projectName SEPARATOR ' , ') AS project_name FROM projects
但是我如何连接链接到1个代理的项目。。。(如所需输出表所示)
这个问题有什么解决办法吗
我将感谢社区提供的任何帮助…您需要这种精确的格式吗?是的,因为我想将其显示为报告。感谢它的工作。。但有可能在一行中得到一个项目吗?尝试使用分隔符。它不会影响workbench中的数据,但应用程序会将数据移动到下一行
SELECT GROUP_CONCAT(projectName SEPARATOR ' , ') AS project_name, a.AgentID
FROM projects p
join agents a on (p.AgentID = a.AgentID)
GROUP BY a.AgentID