Emboîtée requête SQL
-
27-09-2019 - |
Question
Je les tableaux suivants:
Club: Club_ID | Titre | CREATED_DATE | ...
Club_Intesect: user_id | Club_ID | L'accès
Je suis en train de sélectionner un nombre variable de clubs, et se joindre à l'ID de l'utilisateur avec l'accès le plus élevé dans ce club. Cette personne est considérée comme le propriétaire.
Donc, si du Club 100 a Membres A, B, C avec accès 3,4 et 5 respectivement: Je veux la requête finale pour sélectionner du 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 |
...
La solution
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 testé, mais vous voyez l'idée
Autres conseils
SELECT * FROM Club WHERE CLUB_ID = (SELECT Club_ID FROM Club_Intersect ORDER BY Access DESC LIMIT 1);
Je pense que cela fonctionne pour sélectionner le club que vous voulez, à l'aide d'une requête SQL imbriqué. Vous ne spécifiez pas ce que vous vouliez dans vos résultats retournés, parce que cette requête ne récupérer les colonnes du club.