월별 사원수 출력..
nsm530 수험생

답변 채택시 : 0코아

답변 1 추천 0 조회 3158 2014.07.14

SELECT to_char(hiredate,'mm') MM, count(empno) cnt

FROM emp

group by to_char(hiredate,'mm')

order by MM


이렇게 하니 해당되는 월들만 나오는데요..

해당월에 해당되는 사원이 없어도 월을 출력하고 사원수 0으로 표시하고 싶은데요.. 

방법이 있을까요? join 테이블이 없으니 outer join도 못하네요.. // oracle 11g

댓글 (0)
목록 답변등록
월별 사원수 출력..
goal83 2014.07.14

질문자로부터 답변이 채택 되었습니다.

CREATE TABLE COPY_MM
AS SELECT LEVEL AS YMD FROM DUAL
CONNECT BY LEVEL <= 12;

생성후에


SELECT B.YMD, NVL(CNT,0) CNT, A.MM FROM (
  SELECT to_char(hiredate,'mm') MM, count(empno) cnt
  FROM emp
  group by to_char(hiredate,'mm')) A, COPY_MM B
WHERE B.YMD = A.MM(+)
ORDER BY B.YMD;

COPY 테이블 생성후에 OUTER 조인을 하시면 될 것 같습니다.
댓글 (1)