Ich habe die folgenden Tabellen:
Projects (ID, Name, ManagerUser_ID)
Users(ID, Name, Active)
Delegates(ProjectID, UserID, OrderNo)
El ManagerUser_ID
ist der Projektleiter für das Projekt und stellt eine Verbindung zur Tabelle der Benutzer dar. Benutzer können jedoch sein Inactive
. Die Tabelle "Delegates" ist also eine "Many-to-Many"-Tabelle, in der die Benutzer definiert sind, die auf die Projektdaten zugreifen können.
Was ich benötige, ist die Auswahl des ersten Delegierten für ein Projekt, das Active
vorausgesetzt, der Manager ist Inactive
. El OrderNo
gibt die Reihenfolge der Delegierten an (1 ist die erste).
Einige Beispieldaten:
Project
1, Project1, 2
2, Project2, 4
3, Project3, 1
Users
1, Joe, true
2, John, false
3, Dave, true
4, Bob, false
Delegates
1, 4, 1
1, 1, 2
1, 3, 3
2, 2, 1
2, 4, 2
2, 3, 3
Die Ausgabe meiner Abfrage müsste also zeigen:
Project1, Joe
Project2, Dave
Project3, Joe
Projekte und Benutzer für jedes Projekt anzeigen, wenn die ManagerUser_ID
inaktiv ist, dann wählen Sie die Option User
en Delegates
mit den niedrigsten OrderNo
das ist Active
.