SQL查询与And&或功能

时间:2015-11-08 18:42:46

标签: php sql database

我有四列idtofromname

在一个条件中,我想选择to = $tofrom = $from的行。

在另一个条件下,我还想选择from = $toto = $from的行。

如何在同一查询中选择两个条件。

3 个答案:

答案 0 :(得分:1)

如果我理解你的问题,可以这样做:

SELECT * FROM tableName
WHERE (column-to = $to AND column-from = $from)
OR (column-to = $to AND column-from = $from);

答案 1 :(得分:1)

某些数据库支持in多列:

where (`to`, `from`) in (($to, $from), ($from, $to))

这是特定于数据库的。反引号是特定于MySQL的。

旁注:使用SQL关键字和fromto等保留字时要小心。

这些需要特别注意,要求它们以与数据库兼容的方式进行转义(通常是反引号,方括号或双引号)。

答案 2 :(得分:0)

只需将AND条件与括号分组,以便在评估期间为每组条件赋予优先权。

SELECT something FROM table
       WHERE (to = $to AND from = $from) OR (from = $to AND to = $from);