안녕하세요 group by count 구하는 쿼리 질문 좀 드리겠습니다. 0 2 569

by 몽환중독자 [SQL Query] [2018.11.26 15:58:22]


안녕하세요 이제 막 개발 시작한 초급개발자입니다.

개발중에 막히는 부분이 있어서 이렇게 질문드립니다.

SELECT P_YEAR    -- 생산년도

        , P_KND_CD  -- 발간종류

        , COUNT(P_KND_CD) AS CNT

FROM TB_PUBLICT

GROUP BY P_YEAR, P_KND_CD

위와같이 생산년도별 발간종류별 카운트를 구하려고 하는데요..

현재 로우데이터가 없어서

P_YEAR P_KND_CD CNT
2017 메뉴얼 3
2018 정책연구 5
2018 메뉴얼 4
2018 교육책자 4
2018 홍보책자 2
2018 기타 1

이런식으로 데이터가 나오는데요

제가 원하는건 2017년도에도 등록된 데이타가 없다하더라도

P_YEAR P_KND_CD CNT
2017 정책연구 0
2017 메뉴얼 3
2017 교육책자 0
2017 홍보책자 0
2017 기타 0
2018 정책연구 5
2018 메뉴얼 4
2018 교육책자 4
2018 홍보책자 2
2018 기타 1

과 같이 ROW 데이타가 존재하지 않더라도 발간종류별 데이타를 카운트 0으로 나오게끔 무조건 보여주고 싶습니다.

참고로  발간종류는 정책연구, 메뉴얼, 교육책자, 홍보책자, 기타 의 5개로 분류되어 있습니다..

여기 올라와 있는 다른글들 찾아보고 WITH구문등을 이용해서 해보려고 시도해 보았는데

원하는대로 결과가 나오지를 않네요 ㅠㅠ

고수님들에 도움 부탁드립니다.

by 마농 [2018.11.26 16:23:37]

코드가 한글로 되어 있나요?
보통 코드 따로 명칭 따로 해서 별도 코드테이블로 관리할 듯 한데요?
코드 테이블과 아우터 조인을 하시면 되는데.
파티션 아우터 조인을 하시면 됩니다.
http://www.gurubee.net/lecture/2204


by 몽환중독자 [2018.11.26 17:57:16]

아 네 말씀하신대로 코드테이블은 따로 존재합니다 

알려주신대로 한번 해보겠습니다 감사합니다^^

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