我有一个奇怪的场景与4个表与多对多的关系。下面是各表有:多对多关系MSSQL查询
Employee
--------
EmpId (Pk)
Name
Dept
--------
DeptId (Pk)
Name
EmpDept
---------
EmpId (pk)
DeptId (pk)
这是一个多对多表1雇员可能属于不止1个系
Project
---------
ProjId (Pk)
EmpId (pk)
这也是很多很多,其中1名员工可以成为其中的一部分不管部门多于一个项目。
部门和项目之间没有映射。
我需要得到所有项目的详细信息,员工是所有按部门分组的部分项目。我完全失去了写查询的能力。我能写的是
select *
from Project
where empId in (select empid from EmpDept)
我所缺少的是deptID
,我怎么能包括这个?
你可以去DEPTID使用EMPID在EMPDEPT表表通过加入条件 –
请张贴的数据集,并希望结果集 –
看看[如何创建一个最小的,完整的,并且可验证的示例](HTTP://计算器.com/help/mcve),并尝试在你的问题中包含一个mcve - 这意味着你会得到更高质量的答案。 – 3N1GM4