У меня есть эта таблица с данными этого образца:
DECLARE @Sample TABLE (fill_date DATETIME, days_supplied INT)
INSERT INTO @Sample (fill_date, days_supplied)
VALUES (
'02/17/2005', --> DATEADD(dd, 500, '02/17/2005') = '07/02/2006'
500
),
(
'06/13/2005', --> DATEADD(dd, 30, '07/02/2006') = '08/01/2006'
30
),
(
'08/11/2005', --> DATEADD(dd, 30, '08/01/2006') = '08/31/2006'
30
)
Мне нужно добавить days_supplied to fill_date в первой строке, что будет 2006-07-02,Если в следующей строке результат будет больше, чем fill_date, мне нужно будет добавить days_supplies следующей строки к сумме days_supplied и fill_date предыдущей строки.Если результат первой строки не выше, чем fill_date следующей строки, тогда мне нужно добавить days_supplied и fill_date следующей строки и т. Д.
Это результат, который мне нужен в конце:
last_fill_date: '08/31/2006'.
Каков наилучший способ добиться этого?Любая помощь приветствуется