태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
페이지를 읽고 있습니다. ( 아쿠아바다's Blog )
분류 전체보기 (769)
쉐어포인트 (24)
Exchange (12)
SQL (121)
XML (36)
WEB (294)
O / S (97)
삶의향기 (162)
기획 (19)
RSS 피드(IE 7.0부터 기본 지원됩니다. 이전 버전 사용자는 접합한 툴을 사용하세요!!)

소계 쿼리

SQL 2007/06/07 11:21 by 아쿠아바다

create table t1(계산품목 char(4), 계산품목그룹 char(10), 원금 int, 매상 int, 잔금 int)
go
insert into t1 values('현금','그룹1', 2, 1, 1)
insert into t1 values('이자','그룹1', 3, 2, 1)
insert into t1 values('사채','그룹2', 5, 3, 2)
insert into t1 values('채권','그룹2', 9, 5, 4)
insert into t1 values('증권','그룹3', 3, 3, 0)
insert into t1 values('금리','그룹3', 6, 1, 5)
go

-------------------------------------
원하는 결과
-------------------------------------
품목 원금액 매상액 잔금액
-------------------------------------
-------------------------------------
현금 2 1 1
이자 3 2 1
그룹1 5 3 2
-------------------------------------
사채 5 3 2
채권 9 5 4
그룹2 14 8 6
-------------------------------------
증권 3 3 0
금리 6 1 5
그룹3 9 4 5
-------------------------------------
Total 28 15 13



select min(case y.no when 1 then 계산품목
                     when 2 then 계산품목그룹
                     when 3 then 'Total' end) 품목,
       isnull(sum(원금),0) 원금액,
       isnull(sum(매상),0) 매상액,
       isnull(sum(잔금),0) 잔금액
from t1 x cross join (select 1 as no, 'a' as sort union all select 2, 'b' union all select 3, 'c') y
group by case y.no when 1 then 계산품목+' '+convert(varchar(40), newid())
                   when 2 then 계산품목그룹
                   when 3 then 'Total' end
order by  max(계산품목그룹 + y.sort), case y.no when 1 then 계산품목+' '+convert(varchar(40), newid())
                   when 2 then 계산품목그룹
                   when 3 then 'Total' end

이렇게도 소계을 구할수 있군요.

'SQL' 카테고리의 다른 글

버퍼 풀에서 빈 버퍼를 모두 제거합니다  (0) 2007/06/07
심심풀이 15탄  (0) 2007/06/07
소계 쿼리  (0) 2007/06/07
심심풀이 13탄  (0) 2007/06/07
심심풀이 14탄  (0) 2007/06/07
심심풀이 13탄(2)  (0) 2007/06/07
좀더 흥미로운 내용이 많이 있습니다.. HOME > SQL를 확인하세요
TAG ,   
0 Trackback, 0 Comment, :
1  ... 610 611 612 613 614 615 616 617 618  ... 769 
Statistics Graph
Total : 557,403 Today : 33