通过用户ID查询权限SQL语句

用户表,用户组表,角色表,权限表,用户和组的中间表,用户组和角色的中间表,权限表中有角色ID,求SQL语句,通过用户表的用户ID查出所具有的权限... 用户表,用户组表,角色表,权限表,用户和组的中间表,用户组和角色的中间表,权限表中有角色ID,求SQL语句,通过用户表的用户ID查出所具有的权限 展开
 我来答
Ice海Man
2013-12-26 · TA获得超过302个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:206万
展开全部

--这个只要才用多表关联就是了,你要注意如果各个表中有标识已停用或使用等标识你自己把条件添加进去,下面语句查询的数据是用户收有权限,包含被停用的数据

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就是排除重复行,就是可能会出现一个用户有多个用户组,多个角色,就出现了

一个权限在一个用户多条,所以显示的时候只要显示一条。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式