私は列の最大値を見つけようとしていて、次の最大値が見つかるまで同じ値を保持しようとしていますデータは、MS SQL Serverの同じ列の最大値を繰り返し確認し、新しい最大値で置き換えます
アルゴリズムであるように、新しい1、SQLでは基本的にMAXDELAYのグローバル変数を保持し、新しい最大または現在の行に1つの「ループは」2を実行し、行のために他であることを書き換える維持されるだろう-1次のプロジェクトが見つかるまで-1。
SQLで再帰的なクエリと関数を混在させて使うべきですか? Lag()を試しましたが、Lag()のMax()はウィンドウ関数の制限のために使用できません。
SELECT *,
(select max(v) from (VALUES([Delay],Lag([Delay], 1) OVER(ORDER BY [Milestones], [Project Name])))as value(v)) as [MaxDate]
FROM dbo.[Scenario Testing with Previous Row]
エラー:誰かが私にいくつかのポインタを与えることができれば
Msg 4108, Level 15, State 1, Line 2 Windowed functions can only appear in the SELECT or ORDER BY clauses.
をお願い申し上げます。
Project Name Milestones Baseline Date Actual Date Delay Max Delay Worst Case Date
Project 1 MS_1 12/12/2016 15/12/2016 3 3 15/12/2016
Project 1 MS_2 14/12/2016 16/12/2016 2 3 17/12/2016
Project 1 MS_3 31/12/2016 09/01/2017 9 9 09/01/2017
Project 1 MS_4 11/01/2017 12/01/2017 1 9 20/01/2017
Project 1 MS_5 21/01/2017 24/01/2017 3 9 30/01/2017
Project 1 MS_6 01/02/2017 15/02/2017 14 14 15/02/2017
Project 1 MS_7 15/02/2017 16/02/2017 1 14 01/03/2017
Project 1 MS_8 26/02/2017 26/02/2017 0 14 12/03/2017
Project 1 MS_9 31/03/2017 31/03/2017 0 14 14/04/2017
質問を編集して、サンプル*と質問*をテキスト表として入力してください。各行の先頭に4つのスペースを入れると、データは整列します。 –