列出从事项目的所有员工的部门名称

时间:2014-10-28 22:28:27

标签: mysql select

我正在使用一个名为company的mysql DB with Tables:

Employee-> |id_emp|fName|lName|id_Dept|

Department-> |id_Dept|dName|

Project-> |id_Proj|pName|id_Dept|status|budget|actBudget|

Emp_Proj-> |id_Emp|id_Proj|

我仍然遇到如何运行与emp_proj连接表一起使用的查询的问题。

问题是"列出所有从事项目工作的员工的部门名称。

SELECT d.dName
FROM department d
JOIN ?????
WHERE id_Emp = id_Proj ???

我不知道什么加入b / c每个员工都有一个id_Dept,每个员工在项目上工作(或不工作)都显示在表emp_proj中,所以我不知道如何SELECT id_Emp处理项目,然后将其与employee表进行比较以引用其id_Dept,然后输出这些dNames(dept名称)。

任何人都可以帮助这种类型的查询语法吗? TNX

1 个答案:

答案 0 :(得分:1)

SELECT DISTINCT dName FROM Department 
INNER JOIN Employee ON Employee.id_Dept = Department.id_Dept 
INNER JOIN Emp_Proj ON Employee.id_emp = Emp_Proj.id_Emp 
INNER JOIN Project ON Project.id_Proj = Emp_Proj.id_Proj 
WHERE Project.pName = 'Whotever'

这闻起来就像一个学校项目。如果是这样,请确保您了解此查询的含义及其工作原理