Mysql子查询之间
我正在使用CakePHP中的ACL,并希望获取当前用户允许的所有条目。
简化,我有两个表:
间隔:
**lft**| **rght**
10 | 20
40 | 60
90 | 92
ACOS:
**foreign_key** | **lft** | **rght**
3 | 15 | 17
4 | 25 | 27
5 | 45 | 47
6 | 49 | 51
7 | 81 | 83
现在我想从Interval获取外部键来自Acos,它具有来自Interval的lft和rght之间的lft和rght值
在上面的例子中,我们得到foreign_key 3,5,6。
在旁注。 “间隔”表实际上并不存在。值来自此查询(也是acos表):
SELECT lft, rght FROM acos WHERE id IN (
SELECT aco_id FROM aros_acos WHERE
aro_id = (SELECT parent_id FROM aros WHERE foreign_key = 48 && model = 'User' )
OR
aro_id = (SELECT id FROM aros WHERE foreign_key = 48 && model = 'User' )
)
我不希望上面的例子太乱了。如果有任何不确定因素,请评论。
先感谢您!
没有找到相关结果
已邀请:
2 个回复
魄龟呸筹
藐刚
连接条件
确保Acos中的范围在Interval的范围内或等于Interval的范围,而不会超过。 如果有多个匹配间隔,您将在结果中获得多行。使用GROUP BY或DISTINCT只获取外键。