比如我现在有一个表里面有
ID NAME MONEY DATATIME operator
这些字段我知道每笔订单的销售日期怎样做一个报表,显示每个月 的销售情况年报表 显示 ID money 1月,2月 12月net

解决方案 »

  1.   

    可以用when case 判断月份,取sum值,12次
    或者自己用代码组织
      

  2.   


    LZ可以参照:ALTER PROCEDURE [dbo].[XXXX]
        @年度 varchar(10),
        @报表人 varchar(20),
            @部门 varchar(50)
    AS
    declare @Year varchar(10)
    declare @Department varchar(10)
    declare @StsDpt       char(1)--'0' 或 '1'
    BEGIN
        set @Year = @年度
        set @Department = @部门
        if (@Department='') or (@Department = '1') 
             set @StsDpt='0' 
         else 
             set @StsDpt='1'
       select right('00'+convert(varchar(2),datepart(month,a.cw_date)),2) 月份, 
    count(a.UG_ID) 票数,
    f.departmentName 部门,
    convert(decimal(9,2),sum(b.UsePrePaymentSum)) 扣预付,
    convert(decimal(9,2),sum(a.latefee)) 应收滞纳金,
    convert(decimal(9,2),sum(a.latefee - a.DerateLateFee)) 实收滞纳金,
    convert(decimal(9,2),sum(a.gasfee+a.latefee-a.DerateLateFee)) 应收金额,
    convert(decimal(9,2),sum(a.paycash)) 实收金额 from usegasdata a ,paymentrecord b,Frame_Department f
    where a.payflowno = b.payflowno
    and datepart(year,a.cw_date)=@Year
    and (b.departmentId=@Department or @StsDpt=0)
    and b.departmentId = f.departmentId
    and a.status ='2'
    and b.status ='0'
    group by f.departmentName ,right('00'+convert(varchar(2),datepart(month,a.cw_date)),2)
    order by f.departmentName ,right('00'+convert(varchar(2),datepart(month,a.cw_date)),2)
        
        select @年度 年度,@报表人 报表人,@部门 部门
    END
      

  3.   

    参考 :http://www.cnblogs.com/jiangyehu1110/archive/2013/06/12/3133126.html
      

  4.   

    可以用when case 判断月份,取sum值,12次'
    when case 怎么判断月份啊
    组织代码
    具体求解~