现在有一张2月份的销售表tab1:ID  商品编号  销售员编号 销售日期
1   00012     01A      2006-2-1
2   00013     01B      2006-2-3
......98  00089    01A       2006-2-23现在要返回
日期    销售员01A的数量   销售员01B的数量  总计
1         20              30                50
2         40              50                90
..........
28        80              90                170

解决方案 »

  1.   

    欢迎访问 Grid++Report 的网站:http://www.rubylong.cn。一个可以丢开显示网格(各种Grid)做出整个报表系统的构件,非常适合制作动态报表,票据套打,中国式特殊格式报表。
      

  2.   

    table7 为表的名称select TA.销售员01A的数量,BB.销售员01B的数量,TA.销售日期,(TA.销售员01A的数量+BB.销售员01B的数量)总计 from 
    (select isnull (销售员01A的数量,0)销售员01A的数量,tt.销售日期 from (select distinct 销售日期 from table7 )tt left join
    (select count(*)销售员01A的数量,销售日期 from table7 where 销售员编号='01A' group by 销售日期)AA  
    on AA.销售日期=tt.销售日期)TA left join
    (select count(*) 销售员01B的数量,销售日期 from table7 where 销售员编号='01B' group by 销售日期)BB
    on TA.销售日期=BB.销售日期 
      

  3.   

    create table T
    (
       ID int, 
       商品编号 varchar(10),  
       销售员编号 varchar(10), 
       销售数量 int,
       销售日期 datetime
    )insert T select 1,'00012','01A',30,'2006-2-1'
    insert T select 2,'00013','01B',40,'2006-2-3'
    insert T select 98,'00012','01A',50,'2006-2-23'
    declare @T_SQL varchar(8000)
    set @T_SQL='' 
    select @T_SQL=@T_SQL + ' sum(case when 销售员编号=''' + 销售员编号 + ''' then 销售数量 else 0 end) as ''' + 销售员编号  + ''','  from (select distinct 销售员编号 from T) T
    set @T_SQL = 'select datename(dd,销售日期) as ''日期'',' + @T_SQL +'sum(销售数量) as ''合计'' from T group by datename(dd,销售日期)'
    exec (@T_SQL)
      

  4.   

    不好意思,测试有问题!!应该这样才对(table7 为表的名称)
    select TA.销售员01A的数量,isnull(BB.ss,0) 销售员01B的数量,TA.销售日期,isnull((TA.销售员01A的数量+isnull(BB.ss,0)),0) 总计 from 
    (select isnull (销售员01A的数量,0)销售员01A的数量,tt.销售日期 from (select distinct 销售日期 from table7 )tt left join
    (select count(*)销售员01A的数量,销售日期 from table7 where 销售员编号='01A' group by 销售日期)AA  
    on AA.销售日期=tt.销售日期)TA left join
    (select count(*) ss /*销售员01B的数量*/,销售日期 from table7 where 销售员编号='01B' group by 销售日期)BB
    on TA.销售日期=BB.销售日期