批次 下单时间 件数 票数 承运商 转承运商
件数 票数
1 2007-12-04 808 559 SZ 808 559
10 2007-12-29 764 303 ZH 764 303
10 2007-12-28 2402 1633 ZW 2402 1633
100 2007-11-25 155 108 YS 155 108 
列數對不上吧

解决方案 »

  1.   

    是这样的:
    批次 下单时间 件数 票数 承运商 转承运商件数 转承运商票数 
    1 2007-12-04 808 559 SZ 808 559 
    10 2007-12-29 764 303 ZH 764 303 
    10 2007-12-28 2402 1633 ZW 2402 1633 
    100 2007-11-25 155 108 YS 155 108
      

  2.   

    你好,这是我按批次和承运商分组统计出的数据,如果我想在第一个件数和票数处,填上如:第10批分给两个承运商时,件数和票数分别是两承运商的件数与票数之和(3166,1936)!请问这SQL要怎么写?想要什么结果?
      

  3.   

    哈哈哈....看看偶翻译的文章:http://topic.csdn.net/u/20080703/12/61b6f53b-91aa-4c6f-ac5d-c90b24d1055c.html
      

  4.   

    批次 下单时间 件数 票数 承运商 转承运商件数 转承运商票数 
    1 2007-12-04 808 559 SZ 808 559 
    10 2007-12-29 764 303 ZH 764 303 
    10 2007-12-28 2402 1633 ZW 2402 1633 
    100 2007-11-25 155 108 YS 155 108想要的就是:把上面的10批的件数和票数变成下面的:批次 下单时间    件数 票数 承运商 转承运商件数 转承运商票数 
    1   2007-12-04 808 559 SZ 808 559 
    10  2007-12-29 3166 1936 ZH 764 303 
    10  2007-12-28 3166 1936 ZW 2402 1633 
    100 2007-11-25 155 108 YS 155 108
      

  5.   

    顯示?
     
    declare @T table([批次] int,[下单时间] Datetime,[件数] int,[票数] int,[承运商] nvarchar(2),[转承运商件数] int,[转承运商票数] int)
    Insert @T
    select 1,'2007-12-04',808,559,N'SZ',808,559 union all
    select 10,'2007-12-29',764,303,N'ZH',764,303 union all
    select 10,'2007-12-28',2402,1633,N'ZW',2402,1633 union all
    select 100,'2007-11-25',155,108,N'YS',155,108
     
    Select 
    [批次],sum([件数])[件数],sum([票数])[票数]
    from @T
    group by [批次]
    (4 個資料列受到影響)
    批次          件数          票数
    ----------- ----------- -----------
    1           808         559
    10          3166        1936
    100         155         108(3 個資料列受到影響)
      

  6.   

    我是要:group by 批次和承运商分组的,且同一批次可能对应多个承运商
      

  7.   

    還是?
     
    declare @T table([批次] int,[下单时间] Datetime,[件数] int,[票数] int,[承运商] nvarchar(2),[转承运商件数] int,[转承运商票数] int)
    Insert @T
    select 1,'2007-12-04',808,559,N'SZ',808,559 union all
    select 10,'2007-12-29',764,303,N'ZH',764,303 union all
    select 10,'2007-12-28',2402,1633,N'ZW',2402,1633 union all
    select 100,'2007-11-25',155,108,N'YS',155,108
     
    Select 
    [批次],
    [下单时间],sum([件数])over(partition by [批次])[件数],sum([票数])over(partition by [批次])[票数],
    [承运商],[转承运商件数],[转承运商票数]
    from @T a(4 個資料列受到影響)
    批次          下单时间                    件数          票数          承运商  转承运商件数      转承运商票数
    ----------- ----------------------- ----------- ----------- ---- ----------- -----------
    1           2007-12-04 00:00:00.000 808         559         SZ   808         559
    10          2007-12-29 00:00:00.000 3166        1936        ZH   764         303
    10          2007-12-28 00:00:00.000 3166        1936        ZW   2402        1633
    100         2007-11-25 00:00:00.000 155         108         YS   155         108(4 個資料列受到影響)
      

  8.   

    怎么提示:
    服务器: 消息 156,级别 15,状态 1,行 10
    在关键字 'over' 附近有语法错误。
       我用的是MSSQL2000 请问,是不是要2005才能按上面的写,如果是的话在2000上要怎样写才行?
      

  9.   


    那是05功能,2000用
    Select 
        [批次],
        [下单时间],
    (select sum([件数]) from @T where [批次]=a.[批次])[件数],
    (select sum([票数]) from @T where [批次]=a.[批次])[票数],
        [承运商],[转承运商件数],[转承运商票数]
    from @T a
    Select 
        a.[批次],
        [下单时间],
    b.[件数],
    b.[票数],
        [承运商],[转承运商件数],[转承运商票数]
    from 
    @T a
    join 
    (select [批次],sum([件数])[件数],sum([票数])[票数] from @T group by[批次] ) b on a.[批次]=b.[批次]