首先 - 为模糊标题道歉,我找不到更好的。SQL:多对多表AND查询
我有以下结构(简化)表:
EmpID DeptID
1 1
1 2
2 1
3 2
4 5
5 2
此表代表一个多到多的关系。
我有兴趣找到与特定的一组DeptID相关的所有EmpID,例如我想要所有与DeptID1,2和3相关的EmpID。请注意这是与AND关系,而不是OR关系。对我而言,除了1,2和3之外,EmpID可能与额外的DeptID有关,因为它是有效的答案。
我感兴趣的DeptID数量发生了变化(例如,我可能希望EmpID与DeptID 3和5相关,或者我希望EmpID与DepID 2,3,4,5,6,7相关)。
当我尝试解决此问题时,我发现自己要么为每个DepID创建一个JOIN,要么为每个DeptID创建一个子查询。这意味着我必须根据我测试的DeptID的数量生成一个新的查询。我显然希望有一个参数或一组参数的静态查询。
我正在通过SQL Server和MySQL(并行开发两个版本的代码)工作。
任何想法?