假设我有一个包含id(主键),user-id(f oreign key )和角色(包含USER,ADMIN,SYSTEMADMIN等角色的表) )。用户可能具有多个角色。我想找到那些只有角色USER但没有其他权限的用户。我给出了一张类似表格的快照。我怎么能这样做。
答案 0 :(得分:1)
您可以使用子选择来排除与用户不同的用户ID
select distinct userid from my_table
where userid is not in ( select userid from my_table where roles != 'USER')
and roles ='USER';
或者您可以使用for count(不同的角色)
select userid from my_table
where roles = 'USER'
having count( distinct roles) = 1
group by userid