我有一个跟踪间隔任务完成的表。例如,a 项必须每 7 天完成一次,b 项必须每 1 天完成一次,依此类推。该表在插入时记录“nextDue”值。我需要一个查询,它只返回到期后 3 天内的最新“nextDue”日期。这就是我现在所拥有的:
SELECT items.id, items.shortDescription, recs.nextDue, sup.name
FROM lut_ResponsibleParties sup INNER JOIN(
rec_controlCompletion recs INNER JOIN lut_controlItems items
ON recs.controlItem = items.id)
ON items.responsiblePerson = sup.id
WHERE datediff("d",Now(),recs.nextDue) <= 3
这很接近,除了它返回小于或等于 3 天的所有项目,即使最后的完成日期超过了该日期。那有意义吗?我需要查询仅根据最新完成日期返回项目。我不知道该怎么解释。如果我能澄清,请告诉我。