제품종목 테이블
종목코드
종목명
구입 테이블
아이디
구입제품종목(종목1,종목2,종목3,종목4)
구입금액
구입날짜
아래 결과물과 같이 종목별 구입수와 총 구입수를 같이 표기를 하고 싶습니다.
구입날짜 기간을 검색을 하면서요..
Rollup과 cube로 하는거는 같은데 생각보다 잘 안됩니다.
제 능력은 group by 까지만인가봅니다 ㅜ.ㅜ
조언좀 부탁드립니다.
아이디 | 종목1 | 종목2 | 종목3 | 종목4 | 합계 |
aaa | 1 | 1 | 1 | 2 | 5 |
bbb | 1 | 0 | 0 | 0 | 1 |
ccc | 1 | 0 | 1 | 0 | 2 |
Comment 1
-
악마곰
2015.06.05 10:36
rollup 과 cube 없이 아래와 같이 만들어 봤습니다.참조 하세요 ~declare @제품종목 table(종목코드 nvarchar(20), 종목명 nvarchar(50))declare @구입내역 table(아이디 nvarchar(10), 종목코드 nvarchar(20), 구입금액 numeric(18,6), 구입날짜 datetime)insert @제품종목 values('apple6', '아이폰6');insert @제품종목 values('apple6+', '아이폰6플러스');insert @제품종목 values('samsungs6', '삼송s6');insert @제품종목 values('samsungs5', '삼송s5');insert @구입내역 values('aaa', 'apple6+', 150 , '2015-01-01');insert @구입내역 values('aaa', 'apple6', 100 , '2015-02-01');insert @구입내역 values('aaa', 'samsungs5', 100 , '2015-03-01');insert @구입내역 values('bbb', 'apple6+', 100 , '2015-04-01');insert @구입내역 values('ccc', 'samsungs6', 100 , '2015-05-01');insert @구입내역 values('aaa', 'apple6', 100 , '2015-05-02');select아이디, sum([apple6]) [apple6],sum([apple6+]) [apple6+],sum([samsungs6]) [samsungs6],sum([samsungs5]) [samsungs5],sum([apple6])+sum([apple6+])+sum([samsungs6])+sum([samsungs5]) [합계]from (select아이디, [apple6],[apple6+],[samsungs6],[samsungs5]from @구입내역pivot(count(구입금액) for 종목코드 in([apple6],[apple6+],[samsungs6],[samsungs5])) as pvtwhere 구입날짜 >='2015-01-01' and 구입날짜 <='2015-05-02') agroup by 아이디