3 sont définies comme suit:Aide-moi à cette table requête SQL
utilisateurs
User_ID INT
First_Name VARCHAR
Last_Name VARCHAR
Email VARCHAR
Rôles
Role_ID INT
Role_Name VARCHAR
Access_Level INT
Roles_Users
User_ID INT
Role_ID INT
Roles_Users
est une table de liaison many-to-many entre Users
et Roles
. Je veux retirer les informations suivantes:
First_Name, Last_Name, Email, Role_Name
Ce que j'ai à ce jour est:
SELECT
U.First_Name,
U.Last_Name,
U.Email,
R.Name AS Role_Name
FROM Users U
INNER JOIN Roles_Users RU ON U.User_ID = RU.User_ID
INNER JOIN Roles R ON RU.Role_ID = R.Role_ID
La partie la plus délicate (au moins pour moi) est que je veux tirer seulement revenir le Role_Name
avec le MIN(Access_Level)
pour cet utilisateur particulier. Donc, fondamentalement, le jeu d'enregistrements que je veux tirer aura chaque utilisateur seulement une fois avec leur nom de rôle de niveau d'accès le plus bas.
Je suis sûr que c'est assez simple mais ça me bloque tout de suite.
Merci
C'est pourquoi je déteste les tables * many-to-many *. –