残念ながら、SQL は私には簡単にはわかりません。Loan
テーブルとテーブルの2つのテーブルがありLoanPayments
ます。
LoanPayments テーブル:
ID (主キー)、LoanID (ローン テーブルの ID と一致)、PaymentDate、Amount など。
毎月入力された最後の支払いを提供できるSQLステートメントが必要です(ある場合)。私の現在の声明は私に結果を与えていません。その月の最大の日付が同点になることもあるという問題もあるので、それにも対処できるようにする必要があります (私の考えでは、同点の場合は最大の ID を選択することでした)。
これは私がこれまでに持っているものです(間違っていることはわかっていますが、理由はわかりません。):
SELECT lp.ID, lp.LoanID, lp.PaymentDate
FROM LoanPayments lp
WHERE lp.PaymentDate in (
SELECT DISTINCT MAX(PaymentDate) as PaymentDate
FROM LoanPayments
WHERE IsDeleted = 0
AND ReturnDate is null
GROUP BY YEAR(PaymentDate), Month(PaymentDate)
)
AND CAST(PaymentDate as date) >= CAST(DATEADD(mm, -24, GETDATE()) as date)
最後の部分はフィルタリングするだけなので、過去 24 か月分の支払いのみを受け取ります。この問題を解決するために時間を割いていただき、ありがとうございます。