Verschachtelte SQL Query
-
27-09-2019 - |
Frage
Ich habe die folgenden Tabellen:
Club: Club_ID | Titel | created_date | ...
Club_Intesect: User_ID | Club_ID | Zugang
Ich versuche, eine variable Anzahl von Clubs aus, und verbinden Sie die ID des Benutzers mit dem höchsten Zugang in diesem Verein. Diese Person ist der Inhaber betrachtet.
Also, wenn Club 100 habe Mitglieder A, B, C mit Zugang 3,4 bzw. 5: Ich mag die letzte Abfrage von Club wählen:
Club.Club_ID Club.Title Club.Created_Date Club_Intersect.User_ID
100 | "Test Club" | "Creation Date" | C |
101 | "Test Club 2" | "Creation_Date" | Highest Access User |
...
Lösung
SELECT * FROM Club c
JOIN Club_Intesect ci ON ci.Club_ID = c.Club_ID
WHERE ci.Access = (SELECT MAX(Access) FROM Club_Intesect WHERE Club_ID = c.Club_ID)
Nicht getestet, aber Sie bekommen die Idee
Andere Tipps
SELECT * FROM Club WHERE CLUB_ID = (SELECT Club_ID FROM Club_Intersect ORDER BY Access DESC LIMIT 1);
Ich denke, dass für die Auswahl wollen den Club Sie arbeiten würde, eine verschachtelte SQL-Abfrage verwenden. Sie hat nicht angegeben, was Sie in Ihrer zurückgegebenen Ergebnisse wollten, weil diese Abfrage nur die Club-Spalten abrufen würde.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow