Мне нужно вычислить значение столбца indebtedness
так, чтобы при openingBalance !=0 then indebtedness = openingBalnce+SalesTotal-SalesReturn
. Но, когда openingBalnce = 0 then indebtedness = indebtedness
предыдущего monthSales
с тем же SalesID
. Если previous value = 0
получить previous value
и продолжают получать previous value
до имеют значение в этой колонке:Рекурсивный запрос Sql 2008
SalesMonth SalesID openingBalance SalesTotal SalesReturn Indebtednes
1 1 352200 0 5600 NULL
1 2 50000 1100 0 NULL
1 3 9500 6000 0 NULL
2 1 0 0 1200 NULL
2 2 0 300 0 NULL
2 3 0 500 1000 NULL
3 1 0 600 0 NULL
3 2 0 200 0 NULL
3 3 0 0 10 NULL
.
.
.
12 1 0 0 0 NULL
12 2 0 0 0 NULL
12 3 0 0 0 NULL
И выход, как это:
when openingBalance !=0 then Indebtednes=openingBalnce+SalesTotal-SalesReturn
when openingBalnce =0 then Indebtednes=Indebtednes (of the previous
month of the same SalesID)+SalesTotal-SalesReturn.
And this is the output i want.
SalesMonth SalesID openingBalance SalesTotal SalesReturn Indebtednes
---------- ------- -------------- ---------- ----------- ------------
1 1 352200 0 5600 346600
------------------------------------------------------------------------
1 2 50000 1100 0 51100
------------------------------------------------------------------------
1 3 9500 6000 0 15500
------------------------------------------------------------------------
2 1 0 0 1200 345400
------------------------------------------------------------------------
2 2 0 300 0 51400
------------------------------------------------------------------------
2 3 0 500 1000 15000
------------------------------------------------------------------------
3 1 0 600 0 346000
------------------------------------------------------------------------
3 2 0 200 0 51600
-----------------------------------------------------------------------
3 3 0 0 10 14990
-----------------------------------------------------------------------
.
.
.
12 1 0 0 0 NULL
----------------------------------------------------------------------
12 2 0 0 0 NULL
----------------------------------------------------------------------
12 3 0 0 0 NULL
вы можете добавить ожидаемый результат также – ughai
для продажMonth = 1 и SalesID = 1 Indebtednes = 346600 –
Я имею в виду ожидаемый вывод проб с данными, основанными на приведенном выше примере ввода в вопрос. вы можете отредактировать вопрос и добавить детали – ughai