Primero - disculpas por el título difuso, no pude encontrar uno mejor.SQL: tabla Many-To-Many Y consulta
I tienen mesa con la estructura siguiente (simplificación):
EmpID DeptID
1 1
1 2
2 1
3 2
4 5
5 2
Esta tabla representa una relación de muchos a muchos.
Estoy interesado en encontrar todos los EmpIDs que están relacionados con un grupo específico de DeptIDs, por ejemplo, quiero todos los EmpIDs que están relacionados con DeptIDs 1, 2 y 3. Tenga en cuenta que es una relación AND y no un O relación. Para mi caso, el EmpID puede estar relacionado con DeptID adicionales además de 1, 2 y 3 para que sea una respuesta válida.
Cambia el número de DeptIDs que me interesan (es decir, puedo querer EmpIDs que están relacionados con DeptID 3 y 5, o puedo desear los EmpIDs relacionados con DepIDs 2, 3, 4, 5, 6, 7)
Cuando intento abordar este problema me encuentro creando un JOIN por DepID o una subconsulta por DeptID. Esto significaría que tengo que generar una nueva consulta por el número de DeptIDs contra los que estoy probando. Obviamente, preferiría tener una consulta estática con un parámetro o conjunto de parámetros.
Estoy trabajando sobre SQL Server y MySQL (desarrollando en paralelo dos versiones de mi código).
¿Alguna idea?