通过用户ID查询权限SQL语句
用户表,用户组表,角色表,权限表,用户和组的中间表,用户组和角色的中间表,权限表中有角色ID,求SQL语句,通过用户表的用户ID查出所具有的权限...
用户表,用户组表,角色表,权限表,用户和组的中间表,用户组和角色的中间表,权限表中有角色ID,求SQL语句,通过用户表的用户ID查出所具有的权限
展开
1个回答
展开全部
--这个只要才用多表关联就是了,你要注意如果各个表中有标识已停用或使用等标识你自己把条件添加进去,下面语句查询的数据是用户收有权限,包含被停用的数据
select distinct a.*
from 权限表 a
inner join 角色表 b on a.角色ID=b.角色ID
inner join 用户组和角色的中间表 c on c.角色ID=b.角色ID
inner join 用户组表 d on c.用户组ID=d.用户组ID
inner join 用户和组的中间表 e on d.用户组ID=e.用户组ID
inner join 用户表 f on f.用户ID=e.用户ID
where f.用户ID=需要查询的用户ID
加入distinct就是排除重复行,就是可能会出现一个用户有多个用户组,多个角色,就出现了
一个权限在一个用户多条,所以显示的时候只要显示一条。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询