RollUp 질문입니다. SQL2008 R2

희망나라 2015.08.06 15:28 Views : 2811

Create table Test01 (day1 varchar(10), junno varchar(10), money1 int)


insert into Test01 values ('2015-07-01', '00001', 1000)
insert into Test01 values ('2015-07-01', '00002', 1000)

insert into Test01 values ('2015-07-02', '00001', 2000)
insert into Test01 values ('2015-07-03', '00002', 2000)

insert into Test01 values ('2015-08-01', '00001', 1000)
insert into Test01 values ('2015-08-01', '00002', 1000)

insert into Test01 values ('2015-08-02', '00001', 1000)
insert into Test01 values ('2015-08-02', '00002', 1000)

select
  ROW_NUMBER() Over (order by M.MonthGr) as Rownum
  ,Case
     When M.MonthGr = 1 then '전체합계'
     When M.day1Gr = 1 then '월합계'
     Else M.day1
   End as day1
  ,Case
     When (M.junnoGr = 1) and (M.day1Gr = 1) then ''
     When (M.junnoGr = 1) then '합계'
     Else M.junno
   End as junno
   ,M.tmoney
From
(
select Substring(day1,1,7) as Monthx
   , day1,junno, Sum(money1) as tmoney
   , Grouping(junno) as junnoGr
   , Grouping(day1) as day1Gr
   , Grouping(Substring(day1,1,7)) as MonthGr
from Test01 Group by Rollup(Substring(day1,1,7),day1,junno)
) M

-- 실행하면 아래처럼 나옵니다.(일자별 무시하고 채번이 됩니다.)

1 2015-07-01 00001 1000
2 2015-07-01 00002 1000
3 2015-07-01 합계 2000
4 2015-07-02 00001 2000
5 2015-07-02 00002 2000
6 2015-07-02 합계 4000
7 월합계  6000
8 2015-08-01 00001 1000
9 2015-08-01 00002 1000
10 2015-08-01 합계 2000
11 2015-08-02 00001 1000
12 2015-08-02 00002 1000
13 2015-08-02 합계 2000
14 월합계  4000
15 전체합계  10000

 

이걸 아래처럼 (채번하는 하는 방법?)

 

1 2015-07-01 00001 1000
2 2015-07-01 00002 1000
3 2015-07-01 합계 2000


1 2015-07-02 00001 2000
2 2015-07-02 00002 2000
3 2015-07-02 합계 4000
4 월합계  6000


1 2015-08-01 00001 1000
2 2015-08-01 00002 1000
3 2015-08-01 합계 2000


1 2015-08-02 00001 1000
2 2015-08-02 00002 1000
3 2015-08-02 합계 2000


4 월합계  4000
5 전체합계  10000

 

월합계, 전체합계 의 채번은 편의상 적은겁니다.

어떻게 쿼리를 해여 일자별로 채번을 할수 있나요.?

한수 부탁드립니다.

감사합니다.

 

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 15709
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 9579
8898 고수님들 테이블 조인 업데이트 관련 질문좀 드립니다 왕만두와우동 2015.08.20 2616
8897 새로운 DB 를 만들면 이상한 테이블이 자동 생성됩니다. [1] 김태형_284584 2015.08.20 2606
8896 Numeric 옵션에 대해 질문드립니다. [2] 나는짱이야 2015.08.19 2541
8895 고수님들 5자리우편번호랑 6자리우편번호 함께 나와있는게 없을까요? neiyan 2015.08.19 3014
8894 DB 복제 NoSync cenam 2015.08.19 2917
8893 SQL 사용량 100%로 확인되나 쿼리에서는 특별한 문제는 없었습니다. 버그 등 정보가 있나요? [1] 흰가루찹쌀떡 2015.08.18 3472
8892 order by 시 속도저하문제 [1] 진민 2015.08.13 6276
8891 insert into select 구문으로 인해 고민중입니다. [2] dontcryme 2015.08.13 4258
8890 2000에서 2008로 업데이트시 view 테이블 로딩속도문제 [1] 진민 2015.08.12 2880
8889 [MSCS] 클러스터링 질문입니다. [1] 조영곤 2015.08.12 3306
8888 질문드립니다.. [1] 아수라발발타 2015.08.12 2561
8887 쿼리 타임 아웃 관련 문의 드립니다. [6] 나는짱이야 2015.08.12 7506
8886 다른 파일 그룹에 테이블을 생성하려면 어떻게 해야 하나요? [2] 나는짱이야 2015.08.11 2414
8885 윈도우 서비스팩 업데이트 시 sql 영향도. 한인 2015.08.11 2747
8884 주소 관련 질문 드립니다. [4] 아수라발발타 2015.08.07 2884
8883 MSSQL 2012 (한글) 설치 문의 드립니다. [2] 구로동라이더 2015.08.07 5803
8882 연결이 자주 끊어지는 현상에 대해 문의 드립니다. [1] 동동동 2015.08.07 3193
8881 제가 잘못 알고 있는건가 문의 드립니다. [2] 나는짱이야 2015.08.06 2740
» RollUp 질문입니다. SQL2008 R2 [2] 희망나라 2015.08.06 2811
8879 트리거 사용시 질문입니다. HSQL 2015.08.06 2747





XE Login