客户 项目    数量 时间
a     aa     200  2006-6-12
b     bb     200  2006-6-12
a     aa     300  2006-6-15
a     aa     200  2006-7-12
b     bb     200  2006-7-12
a     aa     300  2006-7-15
时间        aa-a    bb-b    合计2006-6合计  500     200      7002006-7合计  500     200      700

解决方案 »

  1.   

    select convert(varchar(7),时间,120)+'合计' 时间,客户,
      sum(case 项目 when 'aa' then 数量 else 0 end) 'aa',
      sum(case 项目 when 'bb' then 数量 else 0 end) 'bb',
      sum(数量) 合计
    from tb
    group by convert(varchar(7),时间,120)+'合计',客户
      

  2.   

    insert into 统计表 select * from ( select fpjdm,fyear, 
    sum(case fmonth when 8 then fqckc else 0 end) [8进],
      sum(case fmonth when 8 then fqmkc else 0 end) [8出],
      sum(case fmonth when 9 then fqckc else 0 end) [9进],
      sum(case fmonth when 9 then fqmkc else 0 end) [9出]
      
    from tb_pjjctj
    group by fpjdm,fyear
      

  3.   

    [code=SQL]create table tb(客户 varchar(10),项目 varchar(10),数量 int,时间 datetime)
    insert into tb values('a',           'aa',           200,     '2006-6-12') 
    insert into tb values('b',           'bb',           200,     '2006-6-12') 
    insert into tb values('a',           'aa',           300,     '2006-6-15') 
    insert into tb values('a',           'aa',           200,     '2006-7-12') 
    insert into tb values('b',           'bb',           200,     '2006-7-12') 
    insert into tb values('a',           'aa',           300,     '2006-7-15') 
    godeclare @sql varchar(8000)
    set @sql = ''
    select @sql = @sql +',sum(case 项目 when '''+项目+''' then 数量 else 0 end) as ['+项目+'-'+客户+']'
    from (select distinct 项目,客户 from tb) aaexec ('select convert(varchar(7),时间,120) as [时间]'+@sql +
     ',sum(数量) as [合计] from  tb group by convert(varchar(7),时间,120)')drop table tb/*
     时间      aa-a        bb-b        合计          
    ------- ----------- ----------- ----------- 
    2006-06 500         200         700
    2006-07 500         200         700*/
    [/code]
      

  4.   

    select convert(varchar(7),table1.时间,120)+ '合计' as 时间,
    sum(case   项目   when   'aa '   then   数量   else   0   end)   'aa ', 
         sum(case   项目   when   'bb '   then   数量   else   0   end)   'bb ', 
         sum(数量)   合计 
    from table1 
    group by convert(varchar(7),table1.时间,120)+ '合计'