1、电量计算的方法有误。
标准的电量计算方法应该是(本月示度-上月示度+电表模数) div 电表模数后取得的那个数。虽然这个方法有点烦,但却可以实现你的第一个问题。而且这个方法其实也是标准算法。
其中电表模数指的是最大电量显示的数字+1。如999的模数是1000。
2、如果想省事,利用第一种计算方法就可以实现。
当然更好一点的办法是另外建一个字段,记录下来当月的电量。这样以后的运算量可以比较小,而且也方便(主要是考虑到可能有用户换表的情况)关于电量计算的方法我做过,如果有兴趣的话,大家可以继续讨论。
[email protected]

解决方案 »

  1.   

    select a.aID '电表号',a.amount '上月电量',b.amount '当月电量',(case when b.amount-a.amount>=0 then b.amount-a.amount else b.amount-a.amount+a.maxamount+1 end)'使用度数',a.maxamount '电表最大值'from
    (select aid,amount,maxamount from test where months=1)a,  
    (select aid,amount,maxamount from test where months=2)b
    where a.aID=b.aIDselect a.aID '电表号',a.amount '上月电量',b.amount '当月电量',(( b.amount-a.amount+a.maxamount+1 )%(a.maxamount+1))'使用度数',a.maxamount '电表最大值'from
    (select aid,amount,maxamount from test where months=1)a,  
    (select aid,amount,maxamount from test where months=2)b
    where a.aID=b.aID