3個表定義如下:幫我看看這個SQL查詢
用戶
User_ID INT
First_Name VARCHAR
Last_Name VARCHAR
Email VARCHAR
角色
Role_ID INT
Role_Name VARCHAR
Access_Level INT
Roles_Users
User_ID INT
Role_ID INT
Roles_Users
是Users
和Roles
之間的多對多鏈接表。我想拉回來下列信息:
First_Name, Last_Name, Email, Role_Name
我至今是:
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
最棘手的部分(至少對我來說)是,我只想拉了回來Role_Name
與該特定用戶的MIN(Access_Level)
。所以基本上我想要拉的記錄集將使每個用戶只列出一次訪問級別最低的角色名稱。
我確定這很簡單,但它現在只是將我絆倒。
由於
這就是爲什麼我討厭*多對多*表。 –