참조하세요.
같은 일자의 데이터가 한건만 있을 때.
----------------------------------------
select d.*, c.전일계
from (
select a.datetime, COALESCE(sum(b.qty), 0) as 전일계
from tb1 as a left outer join tb1 as b on (a.datetime > b.datetime)
group by a.datetime
) as c join tb1 as d on (c.datetime = d.datetime)
-----------------------------------------
같은 일자의 데이터가 여러건일 때.
----------------------------------------
select d.*, c.전일계
from (
select a.datetime, COALESCE(sum(b.qty), 0) as 전일계
from (
select distinct datetime
from tb1
) as a left outer join tb1 as b on (a.datetime > b.datetime)
group by a.datetime
) as c join tb1 as d on (c.datetime = d.datetime)
-----------------------------------------
-----------------------------------------
파보 님이 쓰신 글 :
: Data :
: seq name datetime qty
: 1 lee 20090101 1
: 2 park 20090102 2
: 3 kim 20090103 -1
: 4 choi 20090104 5
:
: Result :
: seq name datetime qty 전일계
: 1 lee 20090101 1 0
: 2 park 20090102 2 1
: 3 kim 20090103 -1 3
: 4 choi 20090104 5 2
:
: 그러니까 <전일계>와 같이 이전 자료의 누적 수량을 구하고 싶습니다.
:
: 오라클에서는 connect by 문으로 해결했었엇는데...
:
: 부탁 드립니다.
|