求1查询行与日期的计算汇总

求一查询行与日期的计算汇总
单据日期 收款日期 原单金额 未付金额 本次付款 利息率万
2014-6-2 2014-6-5 16500 16500 800 5
2014-6-2 2014-6-9 16500 15700 20 5
2014-6-2 2014-10-26 16500 15680 500 5


求1查询行与日期的计算汇总

例如:
10月1日 出库 2000块 

10月9日 收款 1000快 
10月15日  收款 1000块

(8天 * 万5 * 2000 )+ (14天* 万5 *1000)


如果最后一笔没有算清则时间算到今天当日的利息


有点没有头绪啊,求师傅帮忙
------解决思路----------------------

-- 大概如下
-- 利滚利的算法
select 未付金额 * power(1.0 + 利息率万 / 10000.0 , DATEDIFF(day,付款日期,getdate()) ) 
from t where 未付金额 > 0 

-- 非利滚利的算法
select 未付金额 * 利息率万 / 10000.0 * DATEDIFF(day,付款日期,getdate())  
from t where 未付金额 > 0 



------解决思路----------------------
修正之前直接把利率拿5来算
求1查询行与日期的计算汇总
;WITH CTE AS(
    SELECT ROW_NUMBER()OVER(PARTITION BY 单号 ORDER BY 收款日期)RN,*FROM TB
)
SELECT
    T1.*
    ,T1.未付金额-T1.本次付款 LASTMONEY
    ,ISNULL(T2.收款日期,GETDATE()) NEXTDATE
    ,CAST((T1.未付金额-T1.本次付款)*(DATEDIFF(DD,T1.收款日期,ISNULL(T2.收款日期,GETDATE())))*T1.利息率万/10000 AS DECIMAL(19,4))[无利滚利]
    ,CAST((T1.未付金额-T1.本次付款)*(POWER(1+CAST(T1.利息率万 AS REAL)/10000,DATEDIFF(DD,T1.收款日期,ISNULL(T2.收款日期,GETDATE())))-1) AS DECIMAL(19,4))[利滚利]
FROM
    CTE T1
    LEFT JOIN CTE T2 ON T1.RN+1=T2.RN AND T1.单号=T2.单号