nvl(컬럼, 0) 해보셔요
-- TYPE이 공통코드로 되어있다면
WITH T AS (
SELECT 12 ID , 'item1' TYPE FROM DUAL UNION ALL
SELECT 12 ID , 'item1' TYPE FROM DUAL UNION ALL
SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL
SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL
SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL
SELECT 12 ID , 'item4' TYPE FROM DUAL UNION ALL
SELECT 12 ID , 'item4' TYPE FROM DUAL
) , CODE AS (
SELECT 'item1' TYPE FROM DUAL UNION ALL
SELECT 'item2' TYPE FROM DUAL UNION ALL
SELECT 'item3' TYPE FROM DUAL UNION ALL
SELECT 'item4' TYPE FROM DUAL UNION ALL
SELECT 'item5' TYPE FROM DUAL
)
SELECT B.TYPE , NVL(cnt,0) cnt
FROM (
SELECT type
,COUNT(*) cnt
FROM T
WHERE ID = '12'
GROUP BY type
) A
, CODE B
WHERE A.TYPE(+) = B.TYPE
ORDER BY B.TYPE
감사합니다!