SELECT decode(grouping(e.부서소명), 1,'합계',e.부서소명) as 부서소명,
count(f.자산번호) as 대여합계,
count('') as 차용합계,
count('') as 무상수리,
count('') as 유상수리
FROM (select * from 대여 a, 부서소 b where a.대여부서소코드 = b.부서소코드(+)) f,
부서소 e
where e.부서소코드 = f.대여부서소코드
group by rollup(e.부서소명)
union all
SELECT decode(grouping(e.부서소명), 1,'합계',e.부서소명) as 부서소명,
count('') as 대여합계,
count(f.자산번호) as 차용,
count('') as 무상수리,
count('') as 유상수리
FROM (select * from 대여 a, 부서소 b where a.차용부서소코드 = b.부서소코드(+)) f,
부서소 e
where e.부서소코드 = f.차용부서소코드
group by rollup(e.부서소명)
union all
SELECT decode(grouping(c.부서소명), 1,'합계',c.부서소명) as 부서소명,
count('') as 대여합계,
count('') as 차용합계,
count(decode(a.유무상구분,0,1)) as 무상수리,
count(decode(a.유무상구분,1,1)) as 유상수리
FROM 부서소 c, 수리 a
where c.부서소코드 = a.수리신청부서소코드
group by rollup(c.부서소명)
=======
결과
=====================================================
부서소명 대여합계 차용합계 무상수리 유상수리
사이버마케팅팀 9
시스템관리팀 2
합계 11
사이버마케팅팀 1
고객지원센터 2
합계 3
사이버마케팅팀 1 2
시스템 관리팀 2
======================================================
원하는 결과
=====================================================
부서소명 대여합계 차용합계 무상수리 유상수리
고객지원센터 2
사이버마케팅팀 9 1 1 2
시스템관리팀 2 2
합계 11 3 3 2
=======================================================
많은 고수님들의 의견 기다립니다.
cube, rollup을 사용할 수도 있는데,,,
조인과정에서 잘 안되네요...
부탁드립니다.