2015-10-15 108 views
-1

非常令人失望,但有些无法解决为什么我得到这个错误?OUTER附近的语法不正确

SELECT 1 
FROM dbo.[Call] C WITH (nolock) 
OUTER APPLY 
     (
     SELECT TOP 1 LastModifiedDateTime,LastModifiedUser,Note 
     FROM dbo.Note 
     WHERE dbo.Note.CallID = C.Call 
     ORDER BY dbo.Note.LastModifiedDateTime DESC 
    ) LatestNote 

消息156,级别15,状态1,行3关键字 '外部' 附近
语法不正确。

消息170,级别15,状态1,行9
行9:'最近的笔记'附近的语法不正确。

+0

是因为ORDER BY子句吗? – Mukund

+0

不,它在'OUTER'附近也说错了。 – AK47

+0

您的查询在SQL Server 2008R2上正常工作(或至少没有语法错误)。你是否确定你正在对付你认为你的服务器版本? SELECT @@ VERSION'的输出是什么? –

回答

1

经过几次评论的帮助,我发现数据库是2000年,但我从2008年SSMS访问它。

+1

请记住,Microsoft [在两年多前终止了SQL Server 2000的所有支持,包括安全更新](http://blogs.msdn.com/b/sqlreleaseservices/archive/2013/04/08/end-of-extended-lifecycle-support-for-sql-server-2000-service-pack-4.aspx) 。如果没有其他原因,那么您将不断地为在过去的十五年里添加了许多像APPLY这样的新功能而不能使用而感到悲伤......因此,升级该服务器绝对是一个好主意。 –