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 |
      ...
È stato utile?

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