确定 ID 和日期表缺少的日期



我识别ID缺失日期的方法是使用一个左表(t1(,它是一个包含100年日期的日历表,并将具有日期的主表(t2(left联接(on date=date(;身份证件

我希望当我进行左联接时,我会在(t1(中有一个从每年1-365的完整日期列表,然后在日期匹配时从(t2(开始有一个联接id。如果缺少日期,则应为NULL。

我的脚本的当前输出和期望输出附在此处期望输出

简化脚本如下:

SELECT t1.date,
t2.date,
t2.id   
FROM t1
LEFT JOIN t2 ON t1.date= t2.date
ORDER BY t1.date,t2.id ASC

如果您想要

SELECT t1.date, t2.date, t2.id
FROM t1 LEFT JOIN
t2
ON t1.date = t2.date and t2.id = 28295
ORDER BY t1.date, t2.id ASC;

如果您想对所有id(或更大的子集(执行此操作,请使用cross join生成id,然后使用left join:

SELECT t1.date, t2.date, i.id
FROM t1 CROSS JOIN
(SELECT DISTINCT t2.id FROM t2) i LEFT JOIN
t2
ON t1.date = t2.date and t2.id = i.id
ORDER BY t1.date, t2.id ASC;

试试这个:

SELECT t1.date, t2.date, t2.id
FROM t1 LEFT JOIN t2 ON t1.date= t2.date WHERE t2.ID = 28295 ORDER BY t1.date,t2.id ASC

相关内容

  • 没有找到相关文章

最新更新