구루비 강좌 ROLLUP 관련 질문드립니다. 0 2 912

by 준일정 [SQL Query] MSSQL MA [2018.05.28 23:47:01]


소계.png (17,467Bytes)

SELECT 
       b.dname
      , a.job
      , SUM(a.sal) sal
      , COUNT(a.empno) emp_count
 FROM
         emp a, dept b
WHERE 
        a.deptno = b.deptno
 GROUP BY
        ROLLUP(b.dname, a.job)

출처 :  http://www.gurubee.net/lecture/1845

 

 

 

제가 사진에 수정한 것처럼 DNAME의 각 마지막 부분을 소계 라는 문자열로 바꿔서 출력하는 방법이 없을까요?

 

 

 

 

 

by 마농 [2018.05.29 08:20:39]
SELECT CASE GROUPING_ID(b.dname, a.job)
       WHEN 0 THEN b.dname
       WHEN 1 THEN '소계'
       WHEN 3 THEN '총계'
        END dname
     , a.job
     , SUM(a.sal) sal
     , COUNT(*) emp_count
  FROM emp a
 INNER JOIN dept b
    ON a.deptno = b.deptno
 GROUP BY ROLLUP(b.dname, a.job)
;

 


by 준일정 [2018.05.30 08:57:43]

너무너무 감사드립니다.

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