Php 如何选择可能包含交换字段的行?

Php 如何选择可能包含交换字段的行?,php,mysql,sql,database,Php,Mysql,Sql,Database,如何从该表中选择“user_1”和“user_2”的值可能类似的一行 user_1 user_2 1 2 2 1 换句话说,我想选择一个包含2个用户且提交值为1的字段,无论该值在哪个字段中。下面是一个简单的查询: select * from t where submitted = 1 and 2 in (user_1, user_2) 如果我理解了您的问题,我认为如果您试图返回具有相应用户(1,2)和(2,1)的行,您需要将表本身连接起来: 但是,如果您只是

如何从该表中选择“user_1”和“user_2”的值可能类似的一行

user_1 user_2
  1      2
  2      1

换句话说,我想选择一个包含2个用户且提交值为1的字段,无论该值在哪个字段中。

下面是一个简单的查询:

select *
from t
where submitted = 1 and 2 in (user_1, user_2)

如果我理解了您的问题,我认为如果您试图返回具有相应用户(1,2)和(2,1)的行,您需要将表本身连接起来:

但是,如果您只是想查看用户2是否存在于这两个字段中,请查看Gordon的帖子。

使用以下方法:-

       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
从tblname中选择*作为t1,tblname作为t2,其中
t1.user_1=t2.user_2和t1.user_2=t2.user_1和t1.user_1t1.user_2
编辑:-

已更新查询,以便具有相同值的行不会出现在结果中

       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