テーブルを設定しました。これは、製品に対する顧客の返済スケジュールです。
私のテーブルは次のフィールドで構成されています。
SaleID | PaymentDueDate | 料金
各セールに必要なものは次のとおりです。
SaleID | FirstPaymentDate | FirstPaymentValue | RegularPaymentValue | FinalPaymentvalue
各返済スケジュールには、次の特徴があります。
最初の支払い額は顧客が定義します。定期的および最終的な支払いは、残りの残高によって決まります。
例えば
セール=£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はそれほど重要ではないと思います。
本当に私は定期的な支払いが何であるかを理解する方法を知る必要があります。