[ Oracle - 순차적으로 누적하기5 ]

 

Posted by 농부지기
,

[ Oracle - 순차적으로 누적하기4 ]

 

with t as(
select  '20120502' dat, '10001' lotno, 21120 inp_qty, 0 god_qty from dual union all
select  '20120505' dat, '10001' lotno, 21120 inp_qty, 7000 god_qty from dual union all
select  '20120507' dat, '10001' lotno, 0 inp_qty, 13000 god_qty from dual
)
select  * from t


DAT LOTNO    INP_QTY    GOD_QTY
-------------------------------------------------------------
20120502   10001   21120     0
20120505   10001   21120     7000 --> inp_qty - god_qty = 14120
20120507   10001   14120   13000    

 

 

 

 

Posted by 농부지기
,

[ Oracle - 순차적으로 누적하기3 ]

 

Date   Code Amt
20120701   1111 1000
20120701   1112  2000
20120702    data 없음
20120703    1111 3000
20120704    1112 5000
20120704    3333 1000
20120705 data 없음


결과: 20120705 기준 조회

Date   Code Amt
20120701    1111 1000
20120701    1112  2000

20120702    1111 1000
20120702    1112 2000

20120703    1111  4000
20120703    1112 2000

20120704    1111   4000
20120704    1112   7000
20120704    3333   1000

20120705    1111    4000
20120705    1112    7000
20120705    3333    1000
.
.
.

위와 같은 결과를 얻고 싶습니다. (1일 부터 해당일자 까지 누적 합계,  1, 1~2, 1~3, 1~4, 1~5일 이런식으로 한달치 누적합계)
특정일자에 data가 없으면 전날 까지의 누적 합계가  그 날짜의 합계가됨.

 

Posted by 농부지기
,

[ Oracle - 순차적으로 누적하기1 ]

 

<RAW 데이터>

DATE BOH OUT EOH
20120420 200 10 190
20120625 190 40 150
20120810 150 20 130
20120825 130 50 80
20120914 80 5 75
20121006 75 20 55
20121016 55 10 45


<결과>
DATE STOCKQTY OUTQTY SUMQTY
201206 150 40 50
201207 150 0 40
201208 130 70 110
201209 80 5 75
201210 55 30 105


일자별로 사용량이 기록된 RAW 데이터가 있습니다.
월별 재고, 월별 사용량, 해당월 포함 직전 2개월 사용량을 구하는 것 입니다.

BOH - 기초재고
OUT - 사용량
EOH - 기말재고
SUM - 직전 2개월 사용량(해당월 포함)

6월 결과 데이터  SUM 값은 4월, 5월, 6월 사용량입니다.
결과 데이터는 6월부터 보여 주지만 SUM 값은 RAW 데이터 중 4월, 5월 데이터를 잡아와야 합니다.

 

Posted by 농부지기
,

[ Oracle - 순차적으로 누적하기2 ]

 

Posted by 농부지기
,

[ Oracle - 순차적으로 누적하기0 ]

 

Posted by 농부지기
,

[ Oracle - 순차적으로 차감하기3 ]

 

Posted by 농부지기
,

[ Oracle - 순차적으로 차감하기2 ]

 

Posted by 농부지기
,
Posted by 농부지기
,

[ Oracle - 순차적으로 차감하기0 ]

 

 

[www.oracleclub.com  에서 마농님이 작성해 놓은 내용]

Posted by 농부지기
,