我必须创建一个查询以返回下一个分期付款日期,并且当有没有下一个日期的记录(例如已经付款)时出现条件问题,但我仍然需要返回该记录。分期付款每30天付款一次。像那样:
SELECT u.idloan, t.instdate
FROM loans u, schedule t
WHERE t.instdate IS NOT NULL
AND (t.instdate > CONVERT(VARCHAR,getdate(),102)
AND t.instdate < DateAdd(DAY, 30, GetDate())
AND t.loanid= u.idloan
ORDER BY u.idloan
通过上面的查询,我获得了下一个付款日期的贷款,但没有已经支付贷款的记录。我在想添加:
or max (t.instdate) < convert(varchar,getdate(),102)
但是获取错误不能包含max in where子句。 有什么工作吗?在SQL Server 2012上工作。
感谢。
答案 0 :(得分:0)
使用HAVING
子句:
HAVING max(t.instdate) < convert(varchar,getdate(),102)