Nidificate SQL Query
-
27-09-2019 - |
Domanda
Ho le seguenti tabelle:
Club: Club_ID | Titolo | CREATED_DATE | ...
Club_Intesect: user_id | Club_ID | Accesso
Sto cercando di selezionare un numero variabile di club, e unirsi alla ID dell'utente con la più alta di accesso in quel club. Questa persona è considerato il proprietario.
Quindi, se Club 100 è Membri A, B, C con accesso 3,4, e 5, rispettivamente: Voglio la domanda finale di scegliere tra club:
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 |
...
Soluzione
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)
Non testato, ma si ottiene l'idea
Altri suggerimenti
SELECT * FROM Club WHERE CLUB_ID = (SELECT Club_ID FROM Club_Intersect ORDER BY Access DESC LIMIT 1);
Credo che avrebbe funzionato per la selezione del club che si desidera, utilizzando un nidificato query SQL. Lei non ha specificato ciò che si voleva nei risultati restituiti, perché questa query potrebbe recuperare solo le colonne Club.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow