将日期的运行列表添加到sql查询

时间:2017-04-26 13:35:54

标签: sql sql-server-2008

这是查询的结果。 它本质上是一个日历。 我想设置开始日期和日期字段,用日期的运行列表填充,如下例所示。从我声明的日期开始(在示例中,这被设置为2017-04-29) 订单是订单的订单。 天数是项目处理的天数(第一天返回1,第二天:2,依此类推)。 它目前按订单排序'列然后'天'柱

当前输出

Date        Item    Order   Days
Null        WP-1    1       1
Null        SP1     2       1
Null        SP1     2       2
Null        WP-2    3       1

期望输出

Date        Item    Order   Days
2017-04-29  WP-1    1       1
2017-04-30  SP1     2       1
2017-05-01  SP1     2       2
2017-05-02  WP-2    3       1

我确实有数字'和'约会'表格,如果他们帮助

这适用于SQL Server 2008

由于

1 个答案:

答案 0 :(得分:1)

使用row_number并将其添加到指定的开始日期。

declare @startdate date;
set @startdate = '2017-04-29';
select dateadd(day, row_number() over(order by [order],days)-1, @startdate) as [date],
item,[order],days
from yourtable