求如下的結果,SQL應該怎麼寫?
我目前有這樣的一個表,表的欄位名稱有
ColorNo XXS XS S M L XL XXL 箱數 總碼數之和
001 10 5 10 2 25
001 5 1 5
021 25 4 25
021 5 1 5
我現在要做一個合計是下面這樣的
ColorNo XXS XS S M L XL XXL
001 25 10 20
021 105
[解决办法]
create table t(ColorNo varchar(10),XXS int,XS int,S int,M int,L int,XL int,XXL int,
箱數 int,總碼數之和 int)
insert t select '001 ', ' ',10,5,10, ' ', ' ', ' ',2,25
union all select '001 ', ' ',5, ' ', ' ', ' ', ' ', ' ',1,5
union all select '021 ',25, ' ', ' ', ' ', ' ', ' ', ' ',4,25
union all select '021 ',5, ' ', ' ', ' ', ' ', ' ', ' ',1,5
select ColorNo,XXS=sum(箱數*XXS),XS=sum(箱數*XS),S=sum(箱數*S),M=sum(箱數*M),L=sum(箱數*L),
XL=sum(箱數*XL),XXL=sum(箱數*XXL) from t group by ColorNo
ColorNo XXS XS S M L XL XXL
---------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
001 0 25 10 20 0 0 0
021 105 0 0 0 0 0 0
(所影响的行数为 2 行)