首先让我告诉你们SQLFiddle:http://sqlfiddle.com/#!2/1d8bd/11
我一直在研究这个问题,面对一些程序员(和作家)阻止。
这是我在MySQL中尝试完成的示例伪代码:
Return all rows WHERE {
(`to_user_id` = '27' AND `to_delete` >= SUBDATE(NOW(), INTERVAL 720 HOUR) )
AND
(`from_user_id` = '27' AND `from_delete` >= SUBDATE(NOW(), INTERVAL 720 HOUR) )
}
答案 0 :(得分:1)
您是否正在寻找此项(在条件组之间使用OR
而不是AND
)?
SELECT *
FROM messages
WHERE (to_user_id = 27 AND `to_delete` >= NOW() - INTERVAL 720 HOUR)
OR (from_user_id = 27 AND `from_delete` >= NOW() - INTERVAL 720 HOUR)
这是 SQLFiddle 演示
答案 1 :(得分:1)
您遇到的一个问题是您的小提琴示例中的to_delete
和from_delete
字段都是NULL
。因此,他们永远无法满足您的WHERE
条件。
除此之外,如果您的所有运营商都是AND
,则无需括号。也许您正在寻找OR
?