有一个表名agents包含代理列表,另一个表名projects,包含项目列表和在该项目上工作的代理ID。
我正在寻找的输出是一个代理列表、他们正在管理的项目总数和项目列表。
示例表:
agents

AgentID     AgentName
------      ---------
1           Name1
2           Name2
3           Name3

projects
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个代理的项目。。。(如所需输出表所示)?
这个问题有什么解决办法吗?
我会感谢社区的帮助。。。

最佳答案

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

关于mysql - MySQL查询:单个单元格中多个单元格的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36791106/

10-09 18:02