【发布时间】:2017-09-23 04:01:10
【问题描述】:
所以我有三张桌子:
- 工人 - 身份证、姓名和其他信息
- 项目 - ID、名称和其他信息
- Workers_projects - worker_id、project_id
Table Workers_projects 存储哪个工人正在处理哪个项目(按 id)
目标:
在某些情况下,几个工人将从事同一个项目。我想做两个输出:
- 项目 1 - 工人 1、工人 2、工人 3
- 项目 2 - 工人 2,工人 3。
SQL 选择第 1 列中的所有项目,并在第 2 列中列出正在处理它的每个工作人员。
和
- 工人 1 - 项目 1、项目 2;
- 工人 2 - 项目 5,项目 6。
SQL 选择第 1 列中的所有工作人员,并在第 2 列中列出工作人员正在处理的每个项目。
到目前为止我得到了什么:
SELECT p.name, GROUP_CONCAT(w.name)
FROM workers_projects as wp
LEFT JOIN projects as p ON wp.project_id=p.id
LEFT JOIN workers as w ON wp.worker_id=w.id
我做什么 - 它需要随机项目,然后列出所有工人.. 我对 SQL 很陌生,因此感谢您提供任何帮助。
谢谢!
【问题讨论】:
标签: php sql group-concat