Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:需要查询不同开始日期的缺失记录_Mysql_Date - Fatal编程技术网

MySQL:需要查询不同开始日期的缺失记录

MySQL:需要查询不同开始日期的缺失记录,mysql,date,Mysql,Date,我有两个由ID链接的表,一个表有开始日期,子链接表有每周的数据条目。我需要能够查询并确定缺少一周数据的ID,而不知道实际日期 Table1 ID INT START_DATE DATE Table2 ID INT (foreign Key to Table 1) TRAN_DATE DATE VALUE INT 每个INT可能有不同的开始日期,并且每个星期一、星期二等每周都会保存这些值。。。基于开始日期 一些ID将在一周内未发布其价值,我需要回顾历史,查找记录丢失的时间 假设开工日期为201

我有两个由ID链接的表,一个表有开始日期,子链接表有每周的数据条目。我需要能够查询并确定缺少一周数据的ID,而不知道实际日期

Table1
ID INT
START_DATE DATE

Table2
ID INT (foreign Key to Table 1)
TRAN_DATE DATE
VALUE INT
每个INT可能有不同的开始日期,并且每个星期一、星期二等每周都会保存这些值。。。基于开始日期

一些ID将在一周内未发布其价值,我需要回顾历史,查找记录丢失的时间

假设开工日期为2013年9月9日,则日期为2013年9月9日。9/16/2013, 9/23/2013,... 我需要查看ID 1的传输日期是否为2013年9月9日,然后添加7天2013年9月16日,并检查该记录,然后添加7天2013年9月23日,并检查该记录是否存在。然后对不同的ID重复此操作。这将以当前日期结束,或者如果更容易的话,以将来的任何日期结束


我可以用一个程序简单地做到这一点,但我需要在客户站点上做到这一点,并且我不能将代码分发到站点中,因此我需要尝试通过查询来做到这一点。

以下查询返回表2中的任何空白:

select distinct id
from table2 t2
where t2.tran_date < now() - interval 7 day and
      not exists (select 1
                  from table2 t2a
                  where t2a.id = t2.id and
                        datediff(t2a.tran_date, t2.tran_date) = 7
                 );

这假设第一个事务没有丢失。有可能吗?

我想你的意思是需要重复到现在为止?@ExplosionPills是的,继续到当前日期,以7天为因数。在我的情况下,创建初始记录时不应丢失第一个日期。