查找分类帐中客户发票的老化情况。没有针对发票编号过账

时间:2013-01-05 13:23:45

标签: c# sql sql-server

我想使用SQl Server计算账单老化天数。清算账单后,计算其年龄。

Date     Invoice#   type   age     Debit   Credit   Balance
01/01              opening  27                      8061
01/01              Cr                      2000     6961
5/01               Cr                      5000     1961
5/1        5       Dr       30     3000             4961
27/1               Cr                      2000     2961
5/2                Cr                      2961        0

1月27日期初结清;所以,发票年龄是27天。发票#5在5/2清除;所以,它的年龄将是30天。我如何在SQL Server代码中执行此操作?

我在SQL表中有这个cledger表。

我无法弄清楚如何执行这个递归任务...选择账单#并汇总所有信用,直到借方金额大于信用额。使用该信用交易的日期,计算借方帐单日期与清算该帐单之间的天数差异。

任何帮助都会很明显。提前谢谢。

1 个答案:

答案 0 :(得分:0)

你正在寻找一些递归的东西 - 它考虑了之前的所有交易&聚合它们,将它们与当前行进行比较。您需要有选择地将表连接到自身,计算每行当前日期的余额。您可以使用递归CTE,也可以使用T-SQL OVER子句 - 请参阅http://msdn.microsoft.com/en-us/library/ms189461.aspx