如何在mysql查询中合并两个条件?

时间:2014-04-08 10:00:41

标签: php mysql

我是mysql和php的新手。我想知道两个查询如何在mysql中合并。我有表 testTable ,其中:

id     Username1    USername2
1      A            A
2      A            B
3      B            A
4      A            A
5      A            C
6      B            A
7      A            B
8      A            A

现在我想写查询:(A和B)或(B ana A)仅在表格中显示。

喜欢

2     A     B   
3     B     A
6     B     A
7     A     B

这就是我想要的,但因为我是新人,所以我无法做到这一点。

我试过这个

$query  = mysql_query("SELECT * FROM tableWriteText WHERE txt_Userame1='$txt_Useram1' AND txt_Userame2='$txt_Userame2'  ORDER BY id ");

从iphone发送到php并获取

假设我从iPhone发送username1 = Ausername2 = B

所以我得到了表

2   A       B
7   A       B

但我希望每当我从iPhone发送username1 = Ausername2 = B

我第二次从iPhone发送username1 = Busername2 = A

每次,我想按顺序获得所有A和B表格,如

2     A     B   
3     B     A
6     B     A
7     A     B

为此,我也尝试了这个:

$query  = mysql_query("SELECT * FROM tableWriteText WHERE (txt_Userame1='$txt_Useram1' AND txt_Userame2='$txt_Userame2')  OR  (txt_Userame2='$txt_Useram2' AND txt_Userame1='$txt_Userame1')  ORDER BY id ");

非常欢迎任何想法或建议。

2 个答案:

答案 0 :(得分:0)

你在最后写的查询几乎是正确的。只是一个合乎逻辑的问题。

(txt_Userame1='$txt_Useram1' AND txt_Userame2='$txt_Userame2')  
OR  
(txt_Userame2='$txt_Useram2' AND txt_Userame1='$txt_Userame1')

您刚刚更改了它们的显示顺序,您还需要滑动变量。

这可能对你有用......

"SELECT * FROM tableWriteText WHERE (txt_Userame1 = '$txt_Useram1' AND txt_Userame2 = '$txt_Userame2')  OR  (txt_Userame1 = '$txt_Useram2' AND txt_Userame2 = '$txt_Userame1') ORDER BY id "

答案 1 :(得分:0)

您应该向查询添加一个条件:

SELECT * FROM tableWriteText
WHERE
txt_Userame1='$txt_Useram1' AND txt_Userame2='$txt_Userame2'
OR
txt_Userame1='$txt_Userame2' AND txt_Userame2='$txt_Useram1'
ORDER BY id, asc

AND的优先级高于OR,因此您不必在此处使用支架。