我有两个表:查找行具有所有链接的行
User (id, name, etc)
UserRight (user_id, right_id)
我想找谁有权1,2和3的用户,但没有谁的用户只具有一个或两个这些。此外,权限的数量也会有所不同,因此对(1,2,3)和(1,2,3,4,5,6,7)的搜索应该使用相同的查询。
本质:
SELECT *
FROM User
WHERE (
SELECT right_id
FROM tblUserRight
WHERE user_id = id
ORDER BY user_id ASC
) = (1,2,3)
在MySQL这可能吗?
WHERE right_id IN(1,2,3),也给有只有一个正确的ID的用户,他希望right_id = 1和right_id = 2和right_id = 3 – 2010-07-06 11:39:03
那不是什么 'ALL'关键字无论如何。 – 2010-07-06 11:39:51
顺便说一下,当我第一次听到'ALL'的时候,我仍然有同样的感觉,但是我一直在努力思考什么时候你真的需要使用它。 'expr> ALL()'会更好地写成'expr> SELECT(MAX)...'等。 – 2010-07-06 11:57:04