我在PHP代码中使用此SQL查询:
SELECT
*
FROM
maintenance
WHERE
from_date <= DATE_ADD(NOW(), INTERVAL 5 DAY)
AND to_date >= DATE(NOW())
ORDER BY
from_date ASC
在from_date
字段前5天显示行。所以基本上是维护仍在等待的行,因为日期尚未过去。
我希望能够显示相反的结果。那么如果可能的话,维护完成的所有行?
答案 0 :(得分:0)
您可以排除这些结果:
SELECT
*
FROM
maintenance
WHERE id NOT IN (SELECT
id
FROM
maintenance
WHERE
from_date <= DATE_ADD(NOW(), INTERVAL 5 DAY)
AND to_date >= DATE(NOW())
)
ORDER BY
from_date ASC
或者简单地说,否定原始查询中的条件。