- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 PHP/MySQL 应用程序,其中有用户、组和权限:
这是我的实体表:
用户_e:
组_e:
右_e:
还有我的关联表:
用户组_a:
用户权限:
group_right_a:
到目前为止,它都非常简单,没有什么真正原创的。我的问题是我想要一个查询,该查询可以“获取授予给定 ID 的用户或该用户所属的任何组的不同权限”。或者换句话说:“给定用户的权利和他的组的权利的(不同的)联合)
例如:
然后用户 1 拥有权限 1 和 2(来自组 1)、6 和 7(来自组 2)以及 2、3、4(来自他自己)。所以最终查询必须返回权限1,2,3,4,6,7
到目前为止我有以下查询:
SELECT DISTINCT R.*
FROM user_e U
LEFT JOIN user_right_a UR
ON U.id = UR.userid
LEFT JOIN right_e R
ON R.id = UR.rightid
LEFT JOIN user_group_a UG
ON U.id = UG.userid
LEFT JOIN group_right_a GR
ON UG.groupid = GR.groupid
AND R.id = GR.rightid
WHERE U.id = 1
但是当我在测试数据库中运行它时,我已经放置了一些测试数据(如果需要,我可以提供),它会返回一个权利,所有属性(id,标签)设置为 NULL,而它应该返回几行。
这个查询有什么问题?
感谢您的帮助:)
编辑:这里是数据:http://www.fileden.com/files/2007/8/1/1314138/test.sql (由phpmyadmin导出)
最佳答案
这应该可以解决问题:
select distinct united.rightid
from (
select UR.userid userid, UR.rightid rightid
from user_right_a UR
where UR.userid=1
union
select UG.userid userid, GR.rightid rightid
from user_group_a UG
join group_right_a GR on UG.groupid=GR.groupid
) united
where united.userid=1
关于mysql - SQL - 为什么我的查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507743/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!