안녕하세요
월별로 열로 고정하려는 code가 있습니다
고정값에 매칭되는 값이 있으면 코드와 amt를 넣어주고 없으면 0으로 처리하고싶은데 잘안되네요...
어떻게 처리하면 될까요? DB는 오라클입니다
code
100
200
300
400
500
ym code amt
201801 300 150000
201801 200 200000
201801 400 40000
201801 500 20000
ym code amt
201802 200 200000
201802 400 40000
201802 100 150000
* 결과값
ym code amt
201801 100 0
201801 200 200000
201801 300 150000
201801 400 40000
201801 500 20000
201802 100 150000
201802 200 200000
201802 300 0
201802 400 40000
201802 500 0
WITH code_t AS ( SELECT 100 code FROM dual UNION ALL SELECT 200 FROM dual UNION ALL SELECT 300 FROM dual UNION ALL SELECT 400 FROM dual UNION ALL SELECT 500 FROM dual ) , data_t AS ( SELECT '201801' ym, 300 code, 150000 amt FROM dual UNION ALL SELECT '201801', 200, 200000 FROM dual UNION ALL SELECT '201801', 400, 40000 FROM dual UNION ALL SELECT '201801', 500, 20000 FROM dual UNION ALL SELECT '201802', 200, 200000 FROM dual UNION ALL SELECT '201802', 400, 40000 FROM dual UNION ALL SELECT '201802', 100, 150000 FROM dual ) SELECT b.ym , a.code , NVL(b.amt, 0) amt FROM code_t a LEFT OUTER JOIN data_t b PARTITION BY (b.ym) ON a.code = b.code ORDER BY b.ym, a.code ;