我有3张桌子
用户(用户ID,用户名)
1,Ram
2,Krishna
3,Madhu
4,Deepak
角色(角色ID,角色名)
101,Agent
102,User
103,Manager
user_role_map(用户ID,角色ID)
1,102
2,103
3,101
我需要在查询中获取以下详细信息。如果user_role_map中没有用户的记录,我需要将RoleName作为NONE
UserID,UserName,RoleName
1,Ram,User
2,Krishna,Manager
4,Deepak,NONE
以下查询未返回UserID 4
SELECT u.UserID
, u.UserName
, r.RoleName
FROM users u, roles r, user_role_map ur
WHERE u.UserID = ur.UserID
AND r.roleid = ur.roleid
答案 0 :(得分:0)
试试这个 - 没有经过测试,但看起来对我来说
select
u.UserID, u.UserName, IsNull(r.roleName, 'NONE')
from
users u
left join user_role_map ur on
ur.UserId = u.UserId
left join roles r on
r.roleid=ur.roleid