2017-04-26 4 views
0

これはクエリの結果です。 本質的にカレンダーです。 次の例のように、開始日と日付フィールドを日付の実行リストで設定する必要があります。 (この例では2017-04-29として設定されています) Orderは、アイテムが作成される順序です。 日数は、アイテムが作業された日数です(最初の日は1を返し、2日目は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

関連する問題