SQL문 도움 좀 부탁드리겠습니다. 0 2 1,709

by 초콜릿바나나 [2014.01.21 09:14:45]


 
SELECT D.DEPT_NM_KOR, 
    E.DEPT_CODE, 
    E.EMP_NO, 
    E.EMP_NM_KOR, 
    E.JOB_CLS_CD, 
    E.ENT_DD  
 FROM HRMS.HDPB_EMP E,
    BASE.BDBS_DEPT D
WHERE E.DEPT_CODE = D.DEPT_CODE
  AND E.DEPT_CODE IS NOT NULL
ORDER BY E.DEPT_CODE, E.JOB_CLS_CD, E.ENT_DD

이런 SQL문이 있는데요.
출력결과는

DEPT_NM_KOR | DEPT_CODE | EMP_NO | EMP_NM_KOR | JOB_CLS_CD | ENT_DD
    부서명 부서코드 사번     사원명    직급     입사일

이렇게 리스트만 출력이 됩니다.

제가 하고 싶은 거는 부서별로 합계를 출력하고 싶습니다

예를 들어

한국 | 111 | 111 | 홍길동 | 대통령 | 2014-01-01
한국 | 111 | 112 | 안중근 | 독립운동가 | 2014-01-01
한국   2명
일본 | 112 | 113 | 쪽바리 | 원숭이 | 2014-01-01
일본   1명

이렇게 하고 싶은데 롤업 써서 한다는건 어느정도 알거 같은데 자세히 잘 모르겠네요. 도움 좀 부탁드리겠습니다.
by 루나 [2014.01.21 11:11:49]
http://wiki.gurubee.net/pages/viewpage.action?pageId=26744093  여기 보면 설명이 잘 되어 있네요

by 마농 [2014.01.21 11:42:13]
SELECT d.dept_nm_kor
     , e.dept_code
     , NVL(e.emp_no, COUNT(*)) emp_no
     , e.emp_nm_kor
     , e.job_cls_cd
     , e.ent_dd
  FROM hrms.hdpb_emp  e
     , base.bdbs_dept d
 WHERE e.dept_code = d.dept_code
   AND e.dept_code IS NOT NULL
 GROUP BY e.dept_code, d.dept_nm_kor
     , ROLLUP((e.job_cls_cd, e.ent_dd, e.emp_no, e.emp_nm_kor))
 ORDER BY e.dept_code, e.job_cls_cd, e.ent_dd
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입