有一张表(offertable)数据如下:
offertime           offerpact offercom baletype stoID     balenumber baleprice offersum re
2007-10-10 00:00:00 AK3580 华发 mp3-5 sk550      50 23.50 1175.00 无
2007-10-10 00:00:00 AK3581 华发 mp3-6 sk551      35 25.50 892.50 无
2007-10-10 00:00:00 AK3582 华发 mp4-1 sk552      70 45.00 3150.00 无
2007-10-10 00:00:00 AK3583 盛开 mp3-5 sk553      52 12.80 665.60 无
2007-10-10 00:00:00 AK3584 盛开 mp3-6 sk554      45 75.50 3397.50 无
2007-10-10 00:00:00 AK3585 盛开 mp4-1 sk555      75 45.80 3435.00 无
2007-10-10 00:00:00 AK3586 华发 mp3-5 sk556      28 24.50 686.00 无
2007-10-10 00:00:00 AK3587 盛开 mp4-1 sk557      45 57.60 2592.00 无
2007-10-12 00:00:00 AK3588 宏阔 mp4-4 sk558      56 57.80 3236.80 无
2007-10-12 10:08:00 AK3589 宏阔 mp4-5 sk559      56 57.80 3236.80 无
现在要求得到下面结果(对产品按不同厂家,不同规格分别总汇)
offercom  baletype  balenumber   offersum
华发       mp3-5      78           1861.00
华发       mp3-6      35           892.50
华发       mp4-1      70           3150.00
盛开       mp3_5      52           665.60
盛开       mp3-6      45           3397.50
盛开       mp4-1      120          6027.00
宏阔       mp4-4      56           3236.80
宏阔       mp4-5      56           3236.80请各位高手为我指点指点小弟在线等了

解决方案 »

  1.   

    select offercom,baletype,sum(balenumber) balenumber, sum(balenumber*baleprice) offersum
    from tb
    group by offercom,baletype
      

  2.   

    select offercom,baletype,balenumber=sum(balenumber),
    offersum=sum(offersum)
    from offertable group by offercom,baletype 
    我对新版真的无语了...........................................
    等半天回答框才出来
      

  3.   

    create table tb(offertime datetime,offerpact varchar(10),offercom varchar(10),baletype varchar(10),stoID varchar(10),balenumber int,baleprice decimal(18,2),offersum decimal(18,2),re varchar(10))
    insert into tb values('2007-10-10 00:00:00','AK3580','华发','mp3-5','sk550',50, 23.50, 1175.00, '无') 
    insert into tb values('2007-10-10 00:00:00','AK3581','华发','mp3-6','sk551',35, 25.50, 892.50 , '无') 
    insert into tb values('2007-10-10 00:00:00','AK3582','华发','mp4-1','sk552',70, 45.00, 3150.00, '无') 
    insert into tb values('2007-10-10 00:00:00','AK3583','盛开','mp3-5','sk553',52, 12.80, 665.60 , '无') 
    insert into tb values('2007-10-10 00:00:00','AK3584','盛开','mp3-6','sk554',45, 75.50, 3397.50, '无') 
    insert into tb values('2007-10-10 00:00:00','AK3585','盛开','mp4-1','sk555',75, 45.80, 3435.00, '无') 
    insert into tb values('2007-10-10 00:00:00','AK3586','华发','mp3-5','sk556',28, 24.50, 686.00 , '无') 
    insert into tb values('2007-10-10 00:00:00','AK3587','盛开','mp4-1','sk557',45, 57.60, 2592.00, '无') 
    insert into tb values('2007-10-12 00:00:00','AK3588','宏阔','mp4-4','sk558',56, 57.80, 3236.80, '无') 
    insert into tb values('2007-10-12 10:08:00','AK3589','宏阔','mp4-5','sk559',56, 57.80, 3236.80, '无')
    go
    select offercom,baletype,sum(balenumber) balenumber, sum(balenumber*baleprice) offersum 
    from tb 
    group by offercom,baletype
    order by offercom,baletype
    drop table tb/*
    offercom   baletype   balenumber  offersum                                 
    ---------- ---------- ----------- ---------------------------------------- 
    宏阔         mp4-4      56          3236.80
    宏阔         mp4-5      56          3236.80
    华发         mp3-5      78          1861.00
    华发         mp3-6      35          892.50
    华发         mp4-1      70          3150.00
    盛开         mp3-5      52          665.60
    盛开         mp3-6      45          3397.50
    盛开         mp4-1      120         6027.00(所影响的行数为 8 行)
    */
      

  4.   


    select offercom,baletype,sum(balenumber) balenumber, sum(offersum) offersum 
    from offertable 
    group by offercom,baletype
      

  5.   

    select 
      offercom,  
      baletype,  
      SUM(ISNULL(balenumber, 0)) balenumber,
      SUM(ISNULL(offersum, 0)) offersum 
    group by 
      offercom, 
      baletype
      

  6.   

    手误
    select  
      offercom,   
      baletype,   
      SUM(ISNULL(balenumber, 0)) balenumber, 
      SUM(ISNULL(offersum, 0)) offersum  
    FROM 
      table
    group by  
      offercom,  
      baletype
      

  7.   

    -------------------------------运行环境SQL2005----------------------------
    /*
    运行环境SQL2005
    Admin:Staid Yang
    Date:2007-10-12
    */
    declare @offertable table(offertime datetime ,offerpact nvarchar(100),offercom nvarchar(100),baletype nvarchar(50)
    ,stoID nvarchar(50), balenumber int,baleprice money,offersum float,re nvarchar(20))
    insert into @offertable select '2007-10-10','AK3580','华发','mp3-5','sk550',50,23.50,1175.00,'无'
    insert into @offertable select '2007-10-10','AK3581','华发','mp3-6','sk551',35,25.50,892.50,'无'
    insert into @offertable select '2007-10-10','AK3582','华发','mp4-1','sk552',70,45.00,3150.00,'无'
    insert into @offertable select '2007-10-10','AK3583','盛开','mp3-5','sk553',52,12.80,665.60,'无'
    insert into @offertable select '2007-10-10','AK3584','盛开','mp3-6','sk554',45,75.50,3397.50,'无'
    insert into @offertable select '2007-10-10','AK3585','盛开','mp4-1','sk555',75,45.80,345.00,'无'
    insert into @offertable select '2007-10-10','AK3586','华发','mp3-5','sk556',28,24.50,686.00,'无'
    insert into @offertable select '2007-10-10','AK3587','盛开','mp4-1','sk557',45,57.60,2592.00,'无'
    insert into @offertable select '2007-10-10','AK3588','宏阔','mp4-4','sk558',56,57.80,3236.80,'无'
    insert into @offertable select '2007-10-12 10:08:00','AK3589','宏阔','mp4-5','sk559',56,57.80,3236.80,'无'
    /*
    select *
    from @offertable
    */
    select offercom,baletype,sum(balenumber),sum(offersum)
    from @offertable
    group by  offercom,baletype