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 |
      ...
War es hilfreich?

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
scroll top