계층 잔여 계산로직 도움 부탁 드려요 0 2 925

by 초봉 [SQL Query] [2019.03.27 16:35:55]


안녕하세요 아래와 같이 계층형 잔여갯수 구하는 쿼리가 힘들어 도움을 요청 드려요

 

총 인쇄부수 60 기본 배부 55 잔여부수 5
           
입고 1     잔여부수 6
출고 2     잔여부수 4
출고 3     잔여부수 1
출고 1     잔여부수 0
입고 10     잔여부수 10
출고 2     잔여부수 8

 

총 인쇄부수 60 기본배부 55 잔여부수 5

는 기본 데이터고 잔여부수 5에서 부터 아래 입고 출고에 따른 잔여 부수를 구하는 로직이 어려워 도움을 요청 드립니다 ㅜㅜ

 

by 마농 [2019.03.27 17:23:33]
WITH t1 AS
(
SELECT 60 cnt_in, 55 cnt_out, 5 cnt_rem FROM dual
)
, t2 AS
(
SELECT 1 seq, '입고' gb, 1 cnt FROM dual
UNION ALL SELECT 2, '출고',  2 FROM dual
UNION ALL SELECT 3, '출고',  3 FROM dual
UNION ALL SELECT 4, '출고',  1 FROM dual
UNION ALL SELECT 5, '입고', 10 FROM dual
UNION ALL SELECT 6, '출고',  2 FROM dual
)
SELECT seq
     , gb
     , cnt_in
     , cnt_out
     , SUM(cnt_in - cnt_out) OVER(ORDER BY seq) cnt_rem
  FROM (SELECT 0 seq
             , '기본' gb
             , cnt_in
             , cnt_out
          FROM t1
         UNION ALL
        SELECT seq
             , gb
             , DECODE(gb, '입고', cnt, 0) cnt_in
             , DECODE(gb, '출고', cnt, 0) cnt_out
          FROM t2
        )
;

 


by 초봉 [2019.03.27 19:31:23]

해결할수 있게 도와주셔서 감사합니다 마농님

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입