指出未执行任务的日期

时间:2019-06-27 16:19:52

标签: mysql

我有此查询,该查询返回未执行的任务:

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

但是我希望它在不执行任务的月份(因为它们是日常任务)中进行检查,因为以这种方式,在每月的某一天执行任务就足够了,不再返回。

更新

我在其中有任务类型的表:

enter image description here

现在我在其中注册任务的表:

enter image description here

例如,仅持续10天。任务3在第20、21、22、23、25和27天执行,但没有在第24、26、28、29和30天执行。

在该查询中,旨在返回在第24、26、28、29和30天未执行任务3(每天一行),该行返回任务名称,以及返回日期没有执行

1 个答案:

答案 0 :(得分:1)

我以前曾遇到过这种需要,我要做的是生成一个两个日期与LEFT JOIN之间的日期列表,该列表与相关数据相对。因此,它在每个日期都有行,在未发生相关事件的那些日期的实际数据中带有NULL

有一些现有的Stack Overflow答案显示了一些不同的方法。我一直很乐意使用查询中生成的日期列表来执行此操作,但是您也可以生成一个永久性的日期表并进行引用。

请参阅:

Generating a series of dates

generate days from date range

HTH