如何在两个季度之间添加缺失的季度?我有一张2000年以来所有季度的日历表。还有另一张有ID和四分之一的桌子。dbo.calendars示例:2000012000020000320000400101,。。。。
我想填补id P206M02117的空白。id P206M02118是正确的,因为四分之一之间没有间隙。
My wrong output
id qtr
P206M02117 200601
P206M02117 200604
P206M02118 200604
P206M02118 200701
P206M02118 200702
Output I want
id qtr
P206M02117 200601
P206M02117 200602
P206M02117 200603
P206M02117 200604
P206M02118 200701
P206M02118 200702
提前谢谢。
[编辑以帮助解决修改后的问题]
当不存在四分之一的行时,id
是如何填充的尚不清楚;下面的查询假设在这些情况下它填充了CCD_ 2。
你可以做:
select x.id, c.qtr
from calendars c
left join (
select id, min(qtr) as minq, max(qtr) as maxq from t group by id
) x on c.qtr between x.minq and x.maxq
where x.id is not null
结果:
id qtr
------------ ------
PM206M02117 200601
PM206M02117 200602
PM206M02117 200603
PM206M02117 200604
PM206M02118 200604
PM206M02118 200701
PM206M02118 200702
请参阅db<gt;不停摆弄