안녕하세요.
월별 집계데이터를 구현하려고 합니다.
조회 기간 이
WHERE date1 BETWEEN '20180101' AND '20180531' 이면 decode 필드가 month1~month5가
나오고
WHERE date1 BETWEEN '20180101' AND '20180331' 이면 decode 필드가 month1|month2|month3
까지만 나오게 하고 싶습니다.
고수님들 부탁드립니다.
감사합니다.
WITH t AS ( SELECT '20180105' date1,'사과' itCd,'6' qty FROM DUAL UNION ALL SELECT '20180205'date1,'사과' itCd,'3' qty FROM DUAL UNION all SELECT '20180305'date1,'사과' itCd,'4' qty FROM DUAL UNION all SELECT '20180405'date1,'사과' itCd,'6' qty FROM DUAL UNION all SELECT '20180505'date1,'사과' itCd,'7' qty FROM DUAL UNION all SELECT '20180605'date1,'사과' itCd,'6' qty FROM DUAL ) SELECT itCd,SUM(DECODE(SUBSTR(date1,5,2),01,qty)) month1 ,SUM(DECODE(SUBSTR(date1,5,2),02,qty)) month2 ,SUM(DECODE(SUBSTR(date1,5,2),03,qty)) month3 ,SUM(DECODE(SUBSTR(date1,5,2),04,qty)) month4 ,SUM(DECODE(SUBSTR(date1,5,2),05,qty)) month5 FROM t WHERE date1 BETWEEN '20180101' AND '20180531' GROUP BY itCd