【发布时间】:2012-10-31 14:08:51
【问题描述】:
我有一张表,它是客户对产品的还款时间表。
我的表格包含以下字段:
销售ID |付款到期日 |应付金额
每次销售我需要的是:
销售ID |首次付款日期 | FirstPaymentValue |定期付款值 |最终付款价值
每个还款计划都有以下特点:
首付款金额由客户定义。 定期和最终付款由余额决定。
例如
销售 = 200 英镑 期限 = 14 周(14 次付款)
首付款 = 50 英镑 (x1)
定期付款 = 12 英镑 (x12)
最终付款 = 6 英镑 (x1)
请你告诉我如何检索我需要的东西。
补充: 到目前为止的代码:
这是我迄今为止所取得的成就,但这只会让我获得每次销售的首次付款和首次付款日期:
SELECT
FP.SaleID, FP.FirstPaymentDate, RS.AmountDue AS FirstPayment
FROM
(
SELECT SaleID, MIN(PaymentDueDate)AS FirstPaymentDate
FROM RepaymentSchedule
GROUP BY SaleID
) AS FP
LEFT OUTER JOIN
RepaymentSchedule AS RS ON FP.SaleID = RS.SaleID AND FP.FirstPaymentDate = RS.PaymentDueDate ORDER BY RS.SaleID
补充: 数据样本: 14 周内 280 英镑
SaleID PaymentDueDate AmountDue
41 2012-08-29 00:00:00.000 120.00
41 2012-09-05 00:00:00.000 12.30
41 2012-09-12 00:00:00.000 12.30
41 2012-09-19 00:00:00.000 12.30
41 2012-09-26 00:00:00.000 12.30
41 2012-10-03 00:00:00.000 12.30
41 2012-10-10 00:00:00.000 12.30
41 2012-10-17 00:00:00.000 12.30
41 2012-10-24 00:00:00.000 12.30
41 2012-10-31 00:00:00.000 12.30
41 2012-11-07 00:00:00.000 12.30
41 2012-11-14 00:00:00.000 12.30
41 2012-11-21 00:00:00.000 12.30
41 2012-11-28 00:00:00.000 12.40
我猜 FinalPaymentValue 不太重要。
真的,我只需要知道如何计算定期付款。
【问题讨论】:
-
你能举一个存储数据的例子吗?当您说 x12 时,您的意思是 12 行?
-
您能否解释一下您想如何以
SaleID | PaymentDueDate | AmountDue形式获得SaleID | FirstPaymentDate | FirstPaymentValue | RegularPaymentValue | FinalPaymentvalue -
嗨.. 是的,x12 是 12 行。一个 14 周的付款计划将有 14 个条目。
标签: sql-server database select