다시 질문드립니다..!!
맨 밑에 사진은 거래처별로 기준 월을 잡고 얼마만에 다 미수금을 내는지 보는 쿼리입니다
현재잔액 값을 기준으로 당월매출, 1월매출,2월매출,3월매출 컬럼 값을 불러올 때,
매출들 합이 현재 잔액과 동일할 때까지만 값들을 출력하고 싶습니다. 예를들어
현재잔액 당월매출 1개월 2개월 3개월
60 30 10 10 11
3개월 매출까지 그냥 가져왔을때 이렇게 출력될 때 현재 잔액만큼만 가져오고 싶으면 어떻게 해야하나요?(밑에 결과처럼 출력 하고 싶으면 어떻게 해야하나요?)
현재잔액 당월매출 1개월 2개월 3개월
60 30 10 10 10
WITH t AS ( SELECT 1 id, 60 r, 30 m0, 10 m1, 10 m2, 11 m3, 7 m4 FROM dual ) SELECT id , r , GREATEST(0, LEAST(m0, r )) m0 , GREATEST(0, LEAST(m1, r - m0 )) m1 , GREATEST(0, LEAST(m2, r - m0 - m1 )) m2 , GREATEST(0, LEAST(m3, r - m0 - m1 - m2 )) m3 , GREATEST(0, LEAST(m4, r - m0 - m1 - m2 - m3)) m4 FROM t ;