如何从该表http://i.stack.imgur.com/27cu9.jpg中选择一行,其中'user_1'和'user_2'的值可能如下所示
user_1 user_2
1 2
2 1
换句话说,我想选择一个包含2个提交= 1的用户的字段,无论该值在哪个字段中。
答案 0 :(得分:4)
这是一个执行此操作的简单查询:
select *
from t
where submitted = 1 and 2 in (user_1, user_2)
答案 1 :(得分:0)
如果我理解了您的问题,我认为如果您尝试返回具有相应用户(1,2)和(2,1)的行,则需要JOIN
该表:
select t1.*
from yourtable t1
join yourtable t2 on
t1.user_1 = t2.user_2 and t1.user_2 = t2.user_1
但是,如果您只是想看看用户2是否存在于任一字段中,请查看Gordon的帖子。
答案 2 :(得分:0)
使用: -
select * from tblname as t1, tblname as t2 where
t1.user_1 = t2.user_2 and t1.user_2 = t2.user_1 and t1.user_1<>t1.user_2
编辑: -
更新了查询,以便具有相同值的行不会出现在结果中。