쿼리를 전체 공개할수는 없지만
궁금한 부분만 올려보면
SELECT * FROM T_YEAR
PIVOT (
COUNT(USRID)
FOR YEA IN (2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024)
)
이런식으로 년도별 통계를 구하려고 pivot을 이용중입니다.
근데 저렇게 고정으로 해두면 2025년엔 또 2025년을 추가해줘야 할 거같은데
혹시 동적으로 넣어서 작업하는 법도 있을까요?
pivot xml ? 이란 문법이 있어서 해봤는데 원하는 결과가 안나와서 질문드립니다.
도움 주시면 감사하겠습니다.ㅜㅎ
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 쪽에서만 몇년째 하다보니... 가물가물 합니다...
오 감사합니다.!!!
1. 서브쿼리 쓰려면 XML 써줘야 해요.
2. 아직까지 동적으로 컬럼을 완성해 주는 정적SQL은 없습니다.
- 동적SQL로 구현해야 합니다.
3. 만약 연도가 8개 고정이라면?
- 정적SQL 구성이 가능할 수는 있는데 결과표만 가능하고.
- 컬럼 타이틀에 연도 표시는 어차피 동적쿼리가 될 수 밖에 없습니다.