2017-04-26 33 views
0

这是查询的结果。 这本质上是一个日历。 我想设置开始日期和日期字段填充日期的运行列表,如下例所示。从我声明的日期开始(在此示例中,这设置为2017-04-29) 订单是项目生成的顺序。 天数是该项目已处理的天数(第一天返回1,第二天:2,依此类推)。 它目前由“顺序”列,然后“天”列将运行的日期列表添加到sql查询中

电流输出

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的

ks

+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 
+0

这是完美的。我确实有一个想法,row_number会涉及,但不知道如何写它。完全理解这一点,谢谢! – hero9989

相关问题