Ich habe eine Tabelle von Users
. Jede User
kann in mehreren Disciplines
sein, und sie sind durch eine Verknüpfungstabelle verbunden, User_Discipline
. Die Tische sind ziemlich geradlinig:Wo Bedingung basiert auf Link-Tabelle
User
ID Name more...
3 | John Doe | ...
7 | Jane Smith | ...
12 | Joe Jones | ...
Discipline
ID name
1 | Civil
2 | Mechanical
3 | Piping
User_Discipline
UserID DisciplineID
3 | 2
3 | 1
7 | 2
12 | 3
Say John Doe der angemeldete Benutzer ist. Er muss in der Lage sein, eine Liste aller Benutzer in einer seiner Disziplinen auszuwählen. In dem angegebenen Beispiel brauche ich eine Abfrage, die eine Liste mit John und Jane zurückgeben würde, da John sowohl Civil als auch Mechanical ist und Jane in Mechanical ist.
Ich denke, Sub-Selects sind beteiligt, aber alle Lesevorgänge, die ich bisher getan habe, haben gezeigt, wie Subselects auf einen Wert (z. B. Johns Civil Discipline
) zu überprüfen. Ich muss in der Lage sein, eine Abfrage auszuführen, die eine WHERE
-Bedingung ausführt, aber alle Johns Disciplines
viele-zu-viele mit anderen Disciplines
entspricht.
Ich verwende die DataTables Editor .NET library, um die SQL zu tun, aber ich kann eine Antwort in regulären SQL-Markup zu dieser Bibliothek übersetzen. Die einzige Einschränkung der Bibliothek, auf die ich hier stoßen könnte, ist, dass alles in einer einzigen SQL-Anweisung erledigt werden müsste. Ich schätze jede Hilfe!
Haben Sie etwas versuchen? –
Wo ist Ihre Anfrage? – Eric