【发布时间】:2014-09-20 06:35:26
【问题描述】:
update dbo.Sheet1$ set F01 = 0 where ID in(
select top 3 ID from dbo.Sheet1$ where ID in(
select ID, ISNULL(F01,0) + ISNULL(F02,0) + ISNULL(F03,0) as RowSum
from dbo.Sheet1$ where F01 = 1 AND F02 = 1 order by RowSum desc))
运行此代码我收到错误消息:
Msg 1033, Level 15, State 1, Line 1 ORDER BY 子句在 视图、内联函数、派生表、子查询和公用表 表达式,除非还指定了 TOP、OFFSET 或 FOR XML。
我可以编写另一个与上述查询完全相同的查询吗?
【问题讨论】:
-
在子查询中使用 top 可以解决你的问题
SELECT TOP 2147483647
标签: sql sql-server sql-server-2008 tsql