WHERE 조건에 따라 SELECT 절이 유동적으로 변할수 있을까요 0 2 2,068

by 구사일생 [SQL Query] [2021.02.21 17:32:02]


SELECT 지사
         ,SUM(DECODE(일시,'2011',CNT 0)) AS '2011'
         ,SUM(DECODE(일시,'2012',CNT 0)) AS '2012'
         ,SUM(DECODE(일시,'2013',CNT 0)) AS '2013'
         ,SUM(DECODE(일시,'2014',CNT 0)) AS '2014'

          .....................................................
  FROM (
          SELECT 영업점명 AS 지사
                  ,SUBSTR(거래일자,1,4)  AS 일시
                  ,COUNT(*) AS CNT
            FROM 가상계좌거래내역
          WHERE 거래일자 BETWEEN '20110101' AND '20141001'  <== 조건의 변화 되면  20150101 ~  20201130으로 변경 시
         )
 GROUP BY 지사

 

WHERE 절의 조건이 20150101 ~  20201130으로 변경 되었을때 

         ,SUM(DECODE(일시,'2015',CNT 0)) AS '2015'
         ,SUM(DECODE(일시,'2016',CNT 0)) AS '2016'
         ,SUM(DECODE(일시,'2017',CNT 0)) AS '2017'
         ,SUM(DECODE(일시,'2018',CNT 0)) AS '2018'

         ,SUM(DECODE(일시,'2019',CNT 0)) AS '2019'

         ,SUM(DECODE(일시,'2020',CNT 0)) AS '2020'

이런게 가능한지요 고수님들의 지도 부탁드립니다.

by 마농 [2021.02.22 08:14:18]

쿼리만으로는 불가능합니다.
동적쿼리를 이용하셔야 합니다.


by 구사일생 [2021.02.22 22:44:34]

역시 그렇군요  잘 알겠습니다. 언제나 처럼 답변 감사 합니다.

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