的十字路口,我有三个表:联盟和数据
用户
id | name
------------------
1 | Foo
2 | Bar
3 | Baz
group_type
id | name
------------------
1 | Group 1
2 | Group 2
3 | Group 3
4 | Group 4
5 | Group 5
USER_GROUP
id | user_id | group_type_id | [..]
------------------------------------
1 | 1 | 1 | [..]
2 | 1 | 3 | [..]
3 | 2 | 1 | [..]
4 | 1 | 5 | [..]
5 | 2 | 3 | [..]
6 | 3 | 3 | [..]
那么现在,我能找到的所有用户从指定的组列表wi个工会,它就像一个“或”条款:
SELECT u.*
FROM user u,
user_group ug
WHERE ug.user_id = u.id
AND ug.group_type_id IN(1, 3, 5)
由于:
id | name
------------------
1 | Foo
2 | Bar
3 | Baz
现在,我需要相交gorup,发现其中有1型和3组中的所有用户,结果导致:
我已经尝试了一些查询,但不要想象一种正确的做法。
+1 @schizodactyl - 打我大约10秒:)如果可以的话,我会为ANSI加入另一个+1。 –
我懂了!谢谢! –