Предположим, у меня есть распределительная таблица
EmployeeId DeptId
--------- ------
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
4 1
5 2
5 3
6 1
6 2
6 3
Так, 1 сотрудник может работать во многих отделах
Моя проблема в том, чтобы найти сотрудника, работающего в нескольких отделах?
, например
Если я хочу найти сотрудника, который работает в отделе 1,2,3
, результат будет: 1,2,6
Если я хочу найти сотрудника, который работает в отделе 2 & 3
, результат будет 1,2,5,6
Если я хочу найти сотрудника, который работает в отделе 1 & 2
, результат будет 1,2 ,3,6
Я пробовал со следующими запросами
a) SELECT DISTINCT EmployeeId FROM dbo.EmpDept WHERE DeptId in (2,3)
Я получил неправильный результат
b) SELECT DISTINCT EmployeeId FROM dbo.EmpDept WHERE DeptId = 2 AND DeptId = 3
На этот раз у меня нет записей
Пожалуйста, помогите мне.
N.B. ~ Я только симулировал свой сценарий проекта в реальном времени. Я не могу раскрыть точную схему или имена таблиц или что-либо, связанное с проектом, поскольку это конфиденциально.
Заранее спасибо