누적계산 문의드립니다.
b_qty 가 기초 금액이고요
out_qty 컬럼은 기초금액에서 차감 in_qty는 합산 이며 해당 stok_qty는 계산금액입니다.
그리고 중요한건 누적 계산이 되어야 합니다.
어떤식으로 작업해야 될까요??
첨부한 파일에 엑셀은 각행마다 기초값이 있어서 sum() over ( partition by order by) 를 사용하면 될꺼 같은데
문제는 첨부한 파일에 아래에 해당하는 첫번째 행에만 기초값이 있고 나머지는 전 행에 누적값을 가져와서 누적으로 계산을 해야되는부분입니다.
-- Case 1 -- WITH t AS ( SELECT 1 sq, 100 b_qty, 0 out_qty1, 1 out_qty2, 1 out_qty3, 1 out_qty4, 0 in_qty FROM dual UNION ALL SELECT 2, 100, 1, 1, 0, 0, 3 FROM dual UNION ALL SELECT 3, 100, 0, 0, 0, 0, 1 FROM dual UNION ALL SELECT 4, 100, 2, 3, 4, 5, 0 FROM dual ) SELECT sq , b_qty , out_qty1 , out_qty2 , out_qty3 , out_qty4 , in_qty , b_qty + SUM(in_qty - out_qty1 - out_qty2 - out_qty3 - out_qty4) OVER(ORDER BY sq) stok_qty FROM t ;
-- Case 2 -- WITH t AS ( SELECT 1 sq, 100 b_qty, 0 out_qty1, 1 out_qty2, 1 out_qty3, 1 out_qty4, 0 in_qty FROM dual UNION ALL SELECT 2, 0, 1, 1, 0, 0, 3 FROM dual UNION ALL SELECT 3, 0, 0, 0, 0, 0, 1 FROM dual UNION ALL SELECT 4, 0, 2, 3, 4, 5, 0 FROM dual ) SELECT sq , b_qty , out_qty1 , out_qty2 , out_qty3 , out_qty4 , in_qty , SUM(b_qty + in_qty - out_qty1 - out_qty2 - out_qty3 - out_qty4) OVER(ORDER BY sq) stok_qty FROM t ;