我有一个查询,如果2个字段比我提供的时间戳更新,我需要选择我检查过的行。如果其中一个或两个字段都较新,我需要提供结果。
在我看来,这就是我认为它应该有效的方式,但我知道你不能让“AND OR”还有一些应该使用的命令吗?
SELECT pid
from parts
WHERE ( lastupdate > '2011-11-29 17:30:57' )
AND OR (othertimestamp > '2011-11-29 17:30:57')
答案 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
。