퇴근5분전


오라클 강좌를 보면서 멋지다 생각했던 쿼리를 ms-sql로 바꾸어 보았다.

물론 이 쿼리는 테스트용도로 변경한 쿼리임.




select  (case [key] when '1' then ' '+t.[name] else '합계' end ) [구분],  
           sum( a ) [a합계],
           sum( b ) [b합계]
from
(
 select 'a' name, 1 a , 2  b
 union all
 select 'b' name, 1 a , 2  b
 union all
 select 'c' name, 1 a , 2  b
)t,
(
 select '1' [key]
 union all
 select '2' [key]
)u
group by ( case [key] when '1' then ' '+t.name else '합계' end )
 

굵게 표시된 그룹바이 키는 동일하게 적용되어야 표시가 된다.

결과 :




## 집합 적인 사고!!! 카티션곱!!