Pregunta

Tengo las siguientes tablas:

  

Club: Club_ID | título | cREATED_DATE | ...

     

Club_Intesect: User_ID | Club_ID | El acceso

Estoy intentando seleccionar un número variable de clubes, y unirse a la ID del usuario con el mayor acceso en ese club. Esta persona se considera el propietario.

Así que si el Club 100 ha Los miembros A, B, C con acceso a 3,4, y 5, respectivamente: Quiero la consulta final para seleccionar de 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 |
      ...
¿Fue útil?

Solución

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)

No se ha probado, pero se entiende la idea

Otros consejos

SELECT * FROM Club WHERE CLUB_ID = (SELECT Club_ID FROM Club_Intersect ORDER BY Access DESC LIMIT 1);

creo que trabajaría para la selección del club que desee, utilizando una consulta SQL anidada. No se especificó lo que quería en sus resultados devueltos, ya que esta consulta sólo recuperar las columnas del club.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top