SQL: Viele-zu-Viele-Tabelle UND Abfrage
Als erstes entschuldige ich mich für den unscharfen Titel, ich konnte keinen besseren finden.
Ich habe eine Tabelle mit der folgenden Struktur (Vereinfachung):
<code>EmpID DeptID 1 1 1 2 2 1 3 2 4 5 5 2 </code>
Diese Tabelle repräsentiert eine Viele-zu-Viele-Beziehung.
Ich bin daran interessiert, alle EmpIDs zu finden, die sich auf eine bestimmte Gruppe von DeptIDs beziehen. Ich möchte beispielsweise alle EmpIDs, die sich auf die DeptIDs 1, 2 und 3 beziehen. Bitte beachten Sie, dass es sich um eine AND-Beziehung und nicht um eine OR-Beziehung handelt. In meinem Fall kann die EmpID neben 1, 2 und 3 mit weiteren DeptIDs verknüpft sein, damit sie eine gültige Antwort darstellt.
Die Anzahl der DeptIDs, an denen ich interessiert bin, ändert sich (d. H. Ich möchte möglicherweise EmpIDs, die sich auf DeptID 3 und 5 beziehen, oder EmpIDs, die sich auf DepIDs 2, 3, 4, 5, 6, 7 beziehen).
Wenn ich versuche, dieses Problem zu lösen, erstelle ich entweder einen JOIN pro DepID oder eine Unterabfrage pro DeptID. Dies würde bedeuten, dass ich für die Anzahl der DeptIDs, mit denen ich teste, eine neue Abfrage generieren muss. Ich würde es offensichtlich vorziehen, eine statische Abfrage mit einem Parameter oder einer Reihe von Parametern zu haben.
Ich arbeite sowohl mit SQL Server als auch mit MySQL (entwickle parallel zwei Versionen meines Codes).
Irgendwelche Ideen?