RollUp 질문입니다. SQL2008 R2

희망나라 2015.08.06 15:28 Views : 2806

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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1245
8882 연결이 자주 끊어지는 현상에 대해 문의 드립니다. [1] 동동동 2015.08.07 3178
8881 제가 잘못 알고 있는건가 문의 드립니다. [2] 나는짱이야 2015.08.06 2734
» RollUp 질문입니다. SQL2008 R2 [2] 희망나라 2015.08.06 2806
8879 트리거 사용시 질문입니다. HSQL 2015.08.06 2742
8878 mssql 마이그레이션 질문드립니다. [1] Sinlay 2015.08.06 2764
8877 MSSQL 백업 관련 문의 드려요 [1] 지식수집 2015.08.05 3141
8876 SQL 프로그램 개발 [2] 산들마을호랑이 2015.08.04 2720
8875 문자로된 날짜에 월일만 표현하고자 합니다. [2] 슈토파이터 2015.08.04 3066
8874 프로시저 생성시 오류 체크하는 문제 [1] 더따뜻한 2015.08.04 2693
8873 SQL을 어케 가야 할지..~~~ [2] 신현숙 2015.08.03 2916
8872 mssql공부하는데 질문 드립니다. [1] 뿌잉뿌이잉 2015.08.03 3839
8871 fn_varbintohexstr/MD5 -> 복호화 문의드립니다. [2] 김미영_279087 2015.08.03 4613
8870 커서 사용안하고 SP insert 방법 문의드립니다. [2] 사이비 2015.07.30 2967
8869 문자열 합치기 어떻게 해야 할까요? [1] 박형준_290570 2015.07.30 4037
8868 GROUP BY 질문입니다. 월마다 범위가 다르게 그룹을 할수 있을까요? [3] 잉구리앵 2015.07.30 3078
8867 프로시저 재컴파일 관련 문의 드립니다. 나는짱이야 2015.07.30 2687
8866 insert ~ select 질문 [1] 쵸보 2015.07.29 2811
8865 마스터 디테일 테이블 마이그레이션 BroadWay 2015.07.29 3230
8864 급..ㅠ sort 방법좀 알려주세요 [6] adam0126 2015.07.29 2898
8863 전일자 재고 수량 계산 Query [1] 슈토파이터 2015.07.29 4698





XE Login