我一直在尝试解决这个问题,但似乎没有什么对我有用,也许一些帮助会帮助我更好地理解它。我要加入多个表,但只想要与 ID 号关联的最大日期。一个 ID 号可能有多个日期。如果我取出 MAX(Date) 部分,它将运行但返回多个日期值。我不希望 MAX(Date) 出现在初始选择中,而只出现在 WHERE 子句中。这是我的查询:
SELECT DISTINCT A.ID , C.Date
FROM IDTable A
INNER JOIN AccountTable B
ON B.AccountID = A.AccountID
FULL OUTER JOIN Updates U
ON U.ID = A.ID
FULL OUTER JOIN Update2 C
ON C.AccountID = B.AccountID
INNER JOIN UserTable UT
ON UT.UserMnemonicID = A.AssignedTo
WHERE A.StatusID NOT IN ('Complete','Open')
--Need help here to only return MAX date value:
AND C.Date=(SELECT MAX(C.Date) FROM Update2)
ORDER BY A.ID
原文由 bojackh 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您不希望在初始 Select 中使用 MAX(date),那么这将起作用: