查詢條件:    走货日期>=11/23/2009   走货日期<=11/23/2009
要求在同一页中显示以下数据:通知书编号      订仓号        运输公司    运输工具   走货日期      箱数    订单数   CBM
SO001           dfg           顺风         5T       2009-11-23     20       80      62.46
SO002           jkh           ups          3t       2009-11-23     50       200     150.12
运输工具  数量
5T         1
3T         1
累计数量:280    累计箱数:70        累计CBM:212.58

解决方案 »

  1.   


    这个应该是在报表里面做的事情吧
    实在要的话, 就这样吧
    -- =============================================
    -- Author:      T.O.P
    -- Create date: 2009/11/23
    -- Version:     SQL SERVER 2005
    -- =============================================
    declare @TB table([通知书编号] varchar(5),[订仓号] varchar(3),[运输公司] varchar(4),[运输工具] varchar(2),[走货日期] datetime,[箱数] int,[订单数] int,[CBM] numeric(5,2))
    insert @TB
    select 'SO001','dfg','顺风','5T','2009-11-23',20,80,62.46 union all
    select 'SO002','jkh','ups','3t','2009-11-23',50,200,150.12select [运输工具] ,CAST(COUNT(*) AS NVARCHAR(10)) AS 数量
    from @TB
    GROUP BY [运输工具]
    UNION ALL
    SELECT '' AS [运输工具], '累计数量:'+CAST(SUM(订单数) AS NVARCHAR(10))+'  累计箱数:'+CAST(SUM(箱数) AS NVARCHAR(10))+'  累计CBM'+CAST(SUM(CBM) AS NVARCHAR(10)) AS 数量
    FROM @TB
    --测试结果:
    /*
    运输工具 数量
    ---- -----------------------------------------------------------
    3t   1
    5T   1
         累计数量:280  累计箱数:70  累计CBM212.58(3 row(s) affected)*/
      

  2.   

    -- =============================================
    -- Author:      T.O.P
    -- Create date: 2009/11/23
    -- Version:     SQL SERVER 2005
    -- =============================================
    declare @TB table([通知书编号] varchar(5),[订仓号] varchar(3),[运输公司] varchar(4),[运输工具] varchar(2),[走货日期] datetime,[箱数] int,[订单数] int,[CBM] numeric(5,2))
    insert @TB
    select 'SO001','dfg','顺风','5T','2009-11-23',20,80,62.46 union all
    select 'SO002','jkh','ups','3t','2009-11-23',50,200,150.12select [运输工具] ,CAST(COUNT(*) AS NVARCHAR(10)) AS 数量
    from @TB
    GROUP BY [运输工具]
    UNION ALL
    SELECT '' AS [运输工具], '累计数量:'+CAST(SUM(订单数) AS NVARCHAR(10))+'  累计箱数:'+CAST(SUM(箱数) AS NVARCHAR(10))+'  累计CBM:'+CAST(SUM(CBM) AS NVARCHAR(10)) AS 数量
    FROM @TB
    --测试结果:
    /*
    运输工具 数量
    ---- ------------------------------------------------------------
    3t   1
    5T   1
         累计数量:280  累计箱数:70  累计CBM:212.58(3 row(s) affected)
    */
      

  3.   

    我要按照日期查出上面所有的数据出来,导在一张EXCEL上
      

  4.   


    查出以下所有资料:
    通知书编号      订仓号        运输公司    运输工具  走货日期      箱数    订单数  CBM 
    SO001          dfg          顺风        5T      2009-11-23    20      80      62.46 
    SO002          jkh          ups          3t      2009-11-23    50      200    150.12 
    运输工具  数量 
    5T        1 
    3T        1 
    累计数量:280    累计箱数:70        累计CBM:212.58
      

  5.   

    呵呵, 我那结果应该可以导出到EXCEL吧
      

  6.   


    --硬来就这样
    --> 测试数据:@table
    declare @table table([通知书编号] varchar(5),[订仓号] varchar(3),[运输公司] varchar(4),[运输工具] varchar(2),[走货日期] varchar(10),[箱数] int,[订单数] int,[CBM] numeric(5,2))
    insert @table
    select 'SO001','dfg','顺风','5T','2009-11-23',20,80,62.46 union all
    select 'SO002','jkh','ups','3t','2009-11-23',50,200,150.12
    --需处理数据
    select * into #temp from @table 
    where convert(varchar(10),cast(走货日期 as datetime),101)>='11/23/2009'
    and convert(varchar(10),cast(走货日期 as datetime),101)<='11/23/2009'--查询
    select '通知书编号',   '订仓号',    '运输公司', '运输工具','走货日期',  '箱数','订单数','CBM'
    union all
    select 通知书编号,订仓号,运输公司,运输工具,走货日期,cast(箱数 as varchar(10)),cast(订单数 as varchar(10)),cast(CBM as varchar(10)) from #temp
    union all
    select '','','','','','','',''
    union all
    select '运输工具','数量','','','','','',''
    union all
    select 运输工具,cast(count(1) as varchar(10))  as 数量 ,'','','','','',''
    from #temp
    group by 运输工具
    union all
    select '','','','','','','',''
    union all 
    select '累计数量:',cast(sum(订单数) as varchar(10)) ,'累计箱数:',cast(sum(箱数) as varchar(10)),'累计CBM:',cast(sum(CBM) as varchar(10)),'',''
    from #temp
    drop table #temp
    --结果
    ----------------------------
    通知书编号 订仓号 运输公司 运输工具 走货日期 箱数 订单数 CBM
    SO001 dfg 顺风 5T 2009-11-23 20 80 62.46
    SO002 jkh ups 3t 2009-11-23 50 200 150.12

    运输工具 数量
    3t 1
    5T 1

    累计数量: 280 累计箱数: 70 累计CBM: 212.58