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