select * from #temptable
union all
select 地区,品名+'小计' as 品名, sum(一月), sum(二月), sum(三月), sum(四月)
from #temptable
group by 地区,品名

解决方案 »

  1.   


    create table #t(地区 varchar(10),品名 varchar(10),一月 int,二月 int,三月 int,四月 int)
    insert #t
    select 'A','B',2,3,4,5
    union select 'A','B',1,2,3,4
    union select 'A','C',0,1,2,3
    union select 'A','C',4,5,6,7
    select * from #tselect * from #t
    union
    select 地区,品名 + '小计',sum(一月),sum(二月),sum(三月),sum(四月) from #t group by  地区,品名
    union
    select '总计','总计',sum(一月),sum(二月),sum(三月),sum(四月) from #tdrop table #t
      

  2.   

    地区  品名  一月  二月  三月  四月
    select * from (
    select * from #temptable
    union all
    select 地区,品名+'小计' as 品名, sum(一月), sum(二月), sum(三月), sum(四月)
    from #temptable
    group by 地区,品名+'小计' 
    ) tmp
    order by 地区,品名
      

  3.   


    (所影响的行数为 4 行)地区         品名         一月          二月          三月          四月          
    ---------- ---------- ----------- ----------- ----------- ----------- 
    A          B          1           2           3           4
    A          B          2           3           4           5
    A          C          0           1           2           3
    A          C          4           5           6           7(所影响的行数为 4 行)地区         品名             一月          二月          三月          四月          
    ---------- -------------- ----------- ----------- ----------- ----------- 
    A          B              1           2           3           4
    A          B              2           3           4           5
    A          B小计            3           5           7           9
    A          C              0           1           2           3
    A          C              4           5           6           7
    A          C小计            4           6           8           10
    总计         总计             7           11          15          19(所影响的行数为 7 行)