我的表格中包含date
,shipperName
,Shippercode
和Volume
列。
我需要获得整个月的记录。例如:如果我传递参数Date='04/24/2018'
- 我应该获得整个月的数据 - 如果一个日期缺少任何数据,则必须从最后的知识记录中复制。
例如:
我有记录到04/18/2018 - 我需要将04/18/2018的记录复制到 04/19/2018 - 04/30/3028。 如何在SQL存储过程中执行此操作?
答案 0 :(得分:0)
使用递归查询即时获取所需的日期。然后外部应用现有记录:
with dates(date) as
(
select cast('20180301' as date)
union all
select dateadd(day, 1, date) from dates where date < getdate()
)
select *
from dates
outer apply
(
select top(1) *
from mytable m
where m.date <= dates.date
order by m.date desc
) shippers
order by dates.date;
Rextester演示:http://rextester.com/USQF3805