Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как в запросе учитывать значаение из предыдущей строки (остаток от суммы)?  [new]
mod
Member

Откуда:
Сообщений: 2273
есть таблица - номер операции(num), сумма(am)....
Операции последовательны - положительные суммы - приход, отрицательные - расход
необходимо вывести в виде таблице
операции(num), сумма(am), остаток(remain)

Соответственно remain - по сути сумма всех предыдущих приходов и расходов... Грубо говоря остаток после операции
Как сделать курсором понятно... Как вот запросом пока не очень...
6 май 10, 13:09    [8735624]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе учитывать значаение из предыдущей строки (остаток от суммы)?  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
mod,

sum(case negative) over (rows between current row and unbonded preceding),
sum(case positive) over (rows between current row and unbonded preceding)
6 май 10, 13:14    [8735654]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе учитывать значаение из предыдущей строки (остаток от суммы)?  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18339
with t as (select 1 num, 10 am, cast(null as number) rem
from dual union all select 2, -3, null
from dual union all select 3, +8, null
from dual union all select 4, -11, null
from dual union all select 5, +15, null
from dual union all select 6, -14, null
from dual
)
select num, am, sum(am) over(order by num) rem
from t;
 
       NUM         AM        REM
---------- ---------- ----------
         1         10         10
         2         -3          7
         3          8         15
         4        -11          4
         5         15         19
         6        -14          5
 
6 rows selected
 
SQL> 
6 май 10, 13:14    [8735657]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе учитывать значаение из предыдущей строки (остаток от суммы)?  [new]
Elic
Member

Откуда:
Сообщений: 29979
STFF нарастающий итог
6 май 10, 13:14    [8735659]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе учитывать значаение из предыдущей строки (остаток от суммы)?  [new]
mod
Member

Откуда:
Сообщений: 2273
Спасибо всем!
6 май 10, 14:06    [8736082]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить