请帮我理解下面关键字'order'附近的语法错误。 SQL服务器
为什么
(select top 1 * from dbo.module order by [order])
抛出一个错误?
当
select top 1 * from dbo.module
和
select top 1 * from dbo.module order by [order]
都没有?
请帮我理解下面关键字'order'附近的语法错误。 SQL服务器
为什么
(select top 1 * from dbo.module order by [order])
抛出一个错误?
当
select top 1 * from dbo.module
和
select top 1 * from dbo.module order by [order]
都没有?
由于SQL Server执行语句,并且语句具有为它们指定的确切语法。
SELECT语句必须以SELECT关键字开头。 如果语句以括号开始,它是子查询,并且不能在其中使用'排序依据'。
围绕整个语句括括号不是一个好的语法/陈述。这工作原理:
(SELECT top 1 * FROM dbo.module) ORDER BY [order]
@你,我更倾向于理解括号中的错误。 –
您需要通过外部括号保持顺序(从dbo.module中选择顶部1 *)order by [order] – Yeou
order by应始终是您写入查询的最后一个语句。这就是为什么它应该在括号之外。 – Yeou