我正在使用一个名为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_Prof-> |id_Emp|id_Proj|
我不确定如何运行与emp_proj连接表一起使用的查询。
要列出处理特定项目的所有员工,我可以使用此查询:
SELECT id_Emp
FROM emp_proj
WHERE id_Emp IS NOT NULL;
但是,我想从员工表中输出fName
和lName
。我想我需要在Employee
上使用来自Emp_Prof
和id_Emp
的加入。
任何人都可以帮助这种类型的查询语法吗? 感谢...
答案 0 :(得分:0)
尝试:
SELECT Employee.fName, Employee.lName FROM emp_proj, Employee WHERE emp_proj.id_Emp = Employee.id_Emp
答案 1 :(得分:0)
我认为这个查询可能有所帮助。
select e.fName,e.lName from Employee e,emp_proj ep,Project p where e.id_Emp=ep.id_Emp and ep.id_Proj = p.id_Proj and p.pName="<<Project Name>>"
答案 2 :(得分:0)
您无需使用联接。数据库已经建立了关系。在这种情况下,只需使用id匹配的位置Employee.id_Emp = emp_proj.id_Emp match
SELECT Employee.fName, Employee.lName
FROM Employee, emp_proj
WHERE emp_proj.id_Emp = Employee.id_Emp;
答案 3 :(得分:0)
如果要选择处理特定项目的所有员工,则需要加入employee和emp_proj表。您可以在where子句中过滤特定的ID:
SELECT e.fName, e.lName
FROM employee e
JOIN emp_proj ep ON e.id_emp = ep.id_emp
WHERE ep.proj = 'Whatever you want here.';
请注意,当您拥有项目ID时,这会有效。如果您没有该ID,并且想要查找给定项目名称的员工数量,则需要加入更多表格。如果是这种情况,请告诉我,我可以编辑问题,向您展示该如何完成。