我想加入一个子查询中的最大日期,但我得到一个错误。即时通讯使用SQL ServerMAX日期子查询SQL Server
SELECT Headcount.[Snapshot Date]
, Headcount.[ID]
, Assessment.[Assessment Date]
, Assessment.[Code]
FROM Headcount INNER JOIN Assessment ON Assessment.[ID] = Headcount.[ID]
WHERE Assessment.[Assessment Date] =
(SELECT MAX(CAST(Assessment.[Assessment Date] as datetime))
FROM Assessmnet AS Z
WHERE Z.[ID] = Assessment.[ID]
AND Assessment.[Assessment Date] <= Headcount.[Snapshot Date]
)
但我得到一个错误:
An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.