私は明白な何かを見逃しているに違いありませんが、なぜ次のことをしますか
SELECT c.ContractID, max( cs.ContractStatusCreated)
FROM dbo.NMPT_Contract AS c INNER JOIN
dbo.NMPT_ContractStatus AS cs ON c.ContractID = cs.ContractID INNER JOIN
dbo.CMSS_Status AS s ON cs.StatusID = s.StatusID
group by c.ContractID
having cs.ContractStatusCreated = MAX(cs.ContractStatusCreated)
SQL Server 2000から次を返しますか?
メッセージ8121、レベル16、状態1、行1の列'cs.ContractStatusCreated'は、集計関数またはGROUP BY句のいずれにも含まれていないため、HAVING句では無効です。
MAX
集計関数ではありませんか?