不幸的是,SQL 对我来说并不容易。我有两张桌子,一张Loan
桌子和一张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 个月的付款。感谢您的帮助并花时间帮助我解决这个问题。