pivot 관련해서 질문드립니다. 0 3 3,924

by zumsim [Tibero] tibero sql pivot [2024.02.21 14:48:43]


쿼리를 전체 공개할수는 없지만 

궁금한 부분만 올려보면

SELECT * FROM T_YEAR
PIVOT (
     COUNT(USRID)
    FOR YEA IN (2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024)     
)

이런식으로 년도별 통계를 구하려고 pivot을 이용중입니다.

근데 저렇게 고정으로 해두면 2025년엔 또 2025년을 추가해줘야 할 거같은데

혹시 동적으로 넣어서 작업하는 법도 있을까요?

 

pivot xml ? 이란 문법이 있어서 해봤는데 원하는 결과가 안나와서 질문드립니다.

도움 주시면 감사하겠습니다.ㅜㅎ

by v상이v [2024.02.21 15:00:36]

FOR YEA IN (2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024)     

=> 

    FOR YEA IN ( SELECT TO_CHAR(ADD_MONTHS(SYSDATE, (LEVEL-1) * -12), 'YYYY') FROM DUAL CONNECT BY LEVEL <= 8 ) 

 

저 구 문이 맞았나...ㅡ.,ㅡ; 오라클 접한지 오래되서 다 까먹었어요...;; mysql 쪽에서만 몇년째 하다보니... 가물가물 합니다...


by zumsim [2024.02.21 16:03:19]

오 감사합니다.!!!


by 마농 [2024.02.21 17:14:45]

1. 서브쿼리 쓰려면 XML 써줘야 해요.
2. 아직까지 동적으로 컬럼을 완성해 주는 정적SQL은 없습니다.
- 동적SQL로 구현해야 합니다.
3. 만약 연도가 8개 고정이라면?
- 정적SQL 구성이 가능할 수는 있는데 결과표만 가능하고.
- 컬럼 타이틀에 연도 표시는 어차피 동적쿼리가 될 수 밖에 없습니다.

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