不幸的是,SQL并不是很容易找到我.我有两张桌子,一张Loan
桌子和一张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)
Run Code Online (Sandbox Code Playgroud)
最后一部分只是过滤它,所以我只收到过去24个月的付款.感谢您的帮助,并花时间帮助我解决这个问题.