【发布时间】:2019-03-05 21:45:34
【问题描述】:
我不确定如何措辞问题标题,以便更广泛地适用(所以这对 SO 来说可能不是一个好问题)。只有通过显示我的特定表格和列才有意义。
我有两张桌子project 和project_team。每个项目可以有多名员工从事特定项目。
项目表:
+----------------+------------------+--------+
| project_number | project_name | deptNo |
+----------------+------------------+--------+
| 1 | Web App | 1 |
+----------------+------------------+--------+
| 2 | Art History Pres | 2 |
+----------------+------------------+--------+
| 3 | Machine Learning | 1 |
+----------------+------------------+--------+
project_team 表:
+----------------+-------------+------------+
| project_number | employee_id | role |
+----------------+-------------+------------+
| 1 | 1 | Lead Dev |
+----------------+-------------+------------+
| 2 | 2 | Consultant |
+----------------+-------------+------------+
| 1 | 3 | Frontend |
+----------------+-------------+------------+
我使用的示例要求我返回项目编号、项目名称以及按角色参与该项目的员工人数。
这是我现在拥有的:
select role, count(employee_id) from project_team group by role;
如果我做得正确的话,这应该计算每个员工的特定角色。
但是如何返回每个项目及其角色以及担任这些角色的假定员工数量?我的第一个想法是通过使用连接,但我对工作数据库相对较新。
【问题讨论】: