нарастающий итог DSQL
Добавлено: 03 апр 2014, 06:55
Gal 810
Платформа Oracle 10.
Необходимо вычислить дату образования сальдо. Для этого сумму сальдо на начало месяца отнимаю от суммы проводок за предыдущие месяцы.Дата проводки дающая ноль - и есть дата образования сальдо.
Есть такой запрос на SQL(вернее часть запроса)
результат
Колонка SUMM_OVER - это нарастающий итог.
Собственно проблема заключается в том, что галактика не поддерживает конструкцию OVER (order by DVMN.oborot.fdatob desc rows unbounded PRECEDING), а только OVER (order by DVMN.oborot.fdatob).
Без обратной сортировки теряется весь смысл. Может кто сталкивался с подобной проблемой? Или есть другой способ найти дату образования сальдо
Платформа Oracle 10.
Необходимо вычислить дату образования сальдо. Для этого сумму сальдо на начало месяца отнимаю от суммы проводок за предыдущие месяцы.Дата проводки дающая ноль - и есть дата образования сальдо.
Есть такой запрос на SQL(вернее часть запроса)
Код: Выделить всё
SELECT
dvmn.to_oradate(DVMN.oborot.fdatob) as datob,(DVMN.Oborot.FSumOb ) as summ,
sum(DVMN.oborot.FSumOb) OVER (order by DVMN.oborot.fdatob desc rows unbounded PRECEDING) Summ_over
FROM
DVMN.Oborot
WHERE
DVMN.Oborot.fSchetK = 'XX' and DVMN.Oborot.fsubschk = 'XX' and DVMN.Oborot.FDatOb < dvmn.to_atldate(to_date('01,03,2014', 'dd,mm,yyyy'))
ORDER BY DVMN.Oborot.fdatob desc
Код: Выделить всё
DATOB SUMM SUMM_OVER
18.12.2013 0:00:00 1614007,84 1614007,84
18.12.2013 0:00:00 2585092,83 4199100,67
18.12.2013 0:00:00 1465930,24 5665030,91
18.12.2013 0:00:00 1686650,37 7351681,28
18.12.2013 0:00:00 7358,1 7359039,38
18.12.2013 0:00:00 380905,68 7739945,06
18.12.2013 0:00:00 2486435,59 10226380,65
18.12.2013 0:00:00 957820,06 11184200,71
18.12.2013 0:00:00 968403,18 12152603,89
18.12.2013 0:00:00 380905,68 12533509,57
18.12.2013 0:00:00 687565,23 13221074,8
18.12.2013 0:00:00 179904,19 13400978,99
18.12.2013 0:00:00 280727,49 13681706,48
18.12.2013 0:00:00 547608,66 14229315,14
18.12.2013 0:00:00 362861,6 14592176,74
18.12.2013 0:00:00 1500989,32 16093166,06
03.12.2013 0:00:00 430194,88 16523360,94
29.11.2013 0:00:00 932804,45 17456165,39
29.11.2013 0:00:00 1835860,86 19292026,25
29.11.2013 0:00:00 1065017,99 20357044,24
29.11.2013 0:00:00 1015800,71 21372844,95
Собственно проблема заключается в том, что галактика не поддерживает конструкцию OVER (order by DVMN.oborot.fdatob desc rows unbounded PRECEDING), а только OVER (order by DVMN.oborot.fdatob).
Без обратной сортировки теряется весь смысл. Может кто сталкивался с подобной проблемой? Или есть другой способ найти дату образования сальдо