MySQL 查询:单个单元格中多个单元格的值
MySQL Query: Values from multiple cells in a single cell
有一个 table 名称 agents
包含代理列表,另一个 table 名称 projects,
包含项目列表和处理该代理的 ID项目。
我要查找的输出是代理列表、他们管理的项目总数和项目列表。
示例 tables:
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 个代理的项目...(如所需输出 table 所示)?
这个问题有什么解决办法吗?
我将感谢来自这个社区的任何帮助...
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
有一个 table 名称 agents
包含代理列表,另一个 table 名称 projects,
包含项目列表和处理该代理的 ID项目。
我要查找的输出是代理列表、他们管理的项目总数和项目列表。
示例 tables:
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 个代理的项目...(如所需输出 table 所示)?
这个问题有什么解决办法吗?
我将感谢来自这个社区的任何帮助...
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