rollup 질문입니다. 0 2 2,489

by ArkSaber [SQLServer] rollup [2014.04.16 17:35:24]



select T2.ComName AS 직급
, T3.ComName AS 성별
  , T5.SalDT AS 지급일
  , T6.SalName AS 공제명
  , sum(T5.Money) AS 금액
  from Employee T1
  left outer join ComCode T2
   On T1.Grade = T2.ComCD
  left outer join ComCode T3
   On T1.Gender = T3.ComCD
  left outer join Salary T4
   On T1.EmpNO = T4.EmpNO
  left outer join SalDetail T5
   On T4.EmpNO = T5.EmpNO
    and T4.SalDT = T5.SalDT
  left outer join SalComCode T6
   On T5.SalCode = T6.SalCode
 where T2.CodeGroupCD = 'H1'
   and T3.CodeGroupCD = 'H2'
   and T6.SalDIV = 'D'
   and T5.SalDT like '2013%'
 group by rollup (T2.ComName, T3.ComName, T5.SalDT, T6.SalName)
 order by T2.ComName desc
    , T3.comName asc
  , T5.SalDT
  , T6.SalName

기본 쿼리에 맨 마지막줄에 합계를 추가하려고 합니다.
위의 쿼리로 하면 맨 마지막에 합계가 나오기는 하지만 중간 소계가 계속 걸리는군요.

저 소계를 지우는 방법은 없나요?
(소가로로 해보긴 했는데 3개 이상은 안되서 실패......ㅜㅜ)
by 마농 [2014.04.16 17:54:50]
- 변경전 : group by rollup  (T2.ComName, T3.ComName, T5.SalDT, T6.SalName)
- 변경후 : group by rollup ((T2.ComName, T3.ComName, T5.SalDT, T6.SalName))

by 마농 [2014.04.16 18:17:47]

추가로...
조인은 죄다 아우터 조인인데
Where 절 때문에 아우터 조인 하나마나네요.
Inner Join 으로 바꾸세요.

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