说说计算公式呀要不怎么些?

解决方案 »

  1.   

    其中的难点就是有预付款的用户.
    比如说,某个用户在2003.10月交费后,结余了一笔(多交了).一直到2004.05没来,但是这几个月都有费用发生.他的预付款可能比这几个月的总数多,也可能只够其中几个月的.现在想统计所有用户的欠费情况.要把往年欠费和本年欠费分开统计.
    我只会用游标来解决,几个循环吧.但是用户很多,估计效率低.
    请帮忙看看,有没有什么好的方法.
      

  2.   

    预付款能订费用.
    手工下帐的方式,某个用户年初预付了一笔款,以后每个月减.
    这是一个收费的系统.用户来交费,打票
      

  3.   

    有点没说明白,
    就是想统计用户每个月的实际欠费.
      

  4.   

    客户费用表:年月,客户号,费用。假设字段“年月”是字符串,形式为“YYYYMM”
    客户预付款表:客户号,金额
    那么可以这样:
    select f.客户号,
           (case when f.往年费用>p.金额 then f.往年费用-p.金额 else 0) as 往年欠费,
           (case when f.今年费用>p.金额 then f.今年费用-p.金额-(f.往年费用-p.金额) else 0) as 本年欠费
    from (select 客户号,
           sum(case when 年月<left(convert(varchar(10),getdate(),112),4) then 金额 else 0 end) as 往年费用,
           sum(金额) as 今年费用
    from 客户费用表
    group by 客户号) as f inner join 客户预付款表 p on f.客户号=p.客户号
      

  5.   

    谢谢SE1 
    这里,本年费用不含往年费用.各个各的.
    如何统计本年度欠费