如何在sql where子句中包含max?

时间:2014-01-06 02:01:01

标签: sql sql-server tsql sql-server-2012

我必须创建一个查询以返回下一个分期付款日期,并且当有没有下一个日期的记录(例如已经付款)时出现条件问题,但我仍然需要返回该记录。分期付款每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上工作。

感谢。

1 个答案:

答案 0 :(得分:0)

使用HAVING子句:

HAVING  max(t.instdate) <  convert(varchar,getdate(),102)