Платформа 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).
Без обратной сортировки теряется весь смысл. Может кто сталкивался с подобной проблемой? Или есть другой способ найти дату образования сальдо