DB

[DB][SQL] 01월 ~ 12월 데이터가 없어도 조회하기

오선지♬ 2024. 10. 16. 19:34
728x90
반응형
WITH months AS (
    -- Generate the list of months from 01 to 12 for the given year (e.g., 2024)
    SELECT LPAD(LEVEL, 2, '0') AS month
    FROM dual
    CONNECT BY LEVEL <= 12
)
SELECT 
     ...
    , #{param.baseYr} || ms.month AS MROFS_YM  -- Use the generated months from 01 to 12
    , NVL(M.PRC, 0) AS PRC
    ...
FROM months ms
LEFT JOIN ${dbId}.T_PRICE M
    ON M.BASE_YM = #{param.baseYr} || ms.month -- Join based on the generated months for the given year
 ...

 

T_PRICE 테이블에 1월 ~ 12월 까지의 데이터가 전부 있는게 아니여도 1월 ~ 12월 리스트 조회된다.

PRC컬럼에 값이 없어도 0으로 조회된다.

728x90
반응형