0

首先让我给你们 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) )
}
4

2 回答 2

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演示

于 2013-07-16T04:56:17.003 回答
1

您遇到的一个问题是您的to_deletefrom_delete字段都NULL在您的 Fiddle 示例中。因此,他们永远无法满足您的WHERE标准。

除此之外,如果您的所有运算符都是AND. 也许您正在寻找OR

于 2013-07-16T04:57:08.900 回答