gpt4 book ai didi

MySql:如果用户具有特定角色则排除用户

转载 作者:行者123 更新时间:2023-11-30 21:56:16 25 4
gpt4 key购买 nike

SELECT distinct u.id, u.identifier, u.display_name, u.modified_time, 
u.active, r.id, r.name
FROM user u
left join user_role_mapping urm on u.id = urm.user_id
left join role r on r.id = urm.role_id
where r.id IS NULL or r.name NOT IN ("System");

我有这个 MySQL 查询,只要他们没有“系统”角色,它就应该得到每个用户,它工作正常。但是,我面临的问题是,如果用户具有“系统”角色和另一个角色,则仍会返回该用户。有任何想法吗?谢谢!

最佳答案

您应该为不在用户列表中的用户选择值作为系统

  select u.id, u.identifier, u.display_name, u.modified_time, 
u.active, r.id, r.name
FROM user u
left join user_role_mapping urm on u.id = urm.user_id
left join role r on r.id = urm.role_id
where u.id not in (

select u.id
FROM user u
left join user_role_mapping urm on u.id = urm.user_id
left join role r on r.id = urm.role_id
where r.name = "System"
)

关于MySql:如果用户具有特定角色则排除用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45107125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com