使用AND OR的MYSQL查询

时间:2011-11-30 23:01:37

标签: mysql

我有一个查询,如果2个字段比我提供的时间戳更新,我需要选择我检查过的行。如果其中一个或两个字段都较新,我需要提供结果。

在我看来,这就是我认为它应该有效的方式,但我知道你不能让“AND OR”还有一些应该使用的命令吗?

SELECT pid 
from   parts 
WHERE  ( lastupdate > '2011-11-29 17:30:57' ) 
       AND OR (othertimestamp > '2011-11-29 17:30:57') 

2 个答案:

答案 0 :(得分:2)

它只是你想要的OR

SELECT pid 
from   parts 
WHERE  (lastupdate > '2011-11-29 17:30:57') 
OR     (othertimestamp > '2011-11-29 17:30:57')

如果您想显示哪一个或两个满足条件,您可以添加此

SELECT pid , 
       CASE
            WHEN  lastupdate > '2011-11-29 17:30:57' AND othertimestamp > '2011-11-29 17:30:57'  THEN 'both'
            WHEN lastupdate > '2011-11-29 17:30:57' THEN 'lastupdate'
            WHEN othertimestamp > '2011-11-29 17:30:57' THEN 'othertimestamp'
       END as which_field

FROM   parts 
WHERE  (lastupdate > '2011-11-29 17:30:57') 
OR     (othertimestamp > '2011-11-29 17:30:57')

答案 1 :(得分:0)

只需使用OR - 1 OR 1仍然返回true。它不是异或,也就是XOR。在您的情况下,AND OR只是OR