我有此查询,该查询返回未执行的任务:
SELECT COUNT(raddb.TipoTarefa.Id) AS Total, Descricao, IniciarTarefa
FROM raddb.TipoTarefa LEFT OUTER JOIN raddb.Tarefa ON raddb.Tarefa.tarefa = raddb.TipoTarefa.Id
WHERE IniciarTarefa IS NULL
GROUP BY Descricao, IniciarTarefa
但是我希望它在不执行任务的月份(因为它们是日常任务)中进行检查,因为以这种方式,在每月的某一天执行任务就足够了,不再返回。
更新
我在其中有任务类型的表:
现在我在其中注册任务的表:
例如,仅持续10天。任务3在第20、21、22、23、25和27天执行,但没有在第24、26、28、29和30天执行。
在该查询中,旨在返回在第24、26、28、29和30天未执行任务3(每天一行),该行返回任务名称,以及返回日期没有执行
答案 0 :(得分:1)
我以前曾遇到过这种需要,我要做的是生成一个两个日期与LEFT JOIN
之间的日期列表,该列表与相关数据相对。因此,它在每个日期都有行,在未发生相关事件的那些日期的实际数据中带有NULL
。
有一些现有的Stack Overflow答案显示了一些不同的方法。我一直很乐意使用查询中生成的日期列表来执行此操作,但是您也可以生成一个永久性的日期表并进行引用。
请参阅:
HTH