在子查询语句中,不能使用Order by语句,除非使用top或for xml
如下面的表t_table:
field1field2
11 eee
11 bbb
44 aaa
33 ddd
55 ccc
有下面的sql语句:
select* from (select* from t_table order by field1)a[L1]
运行是会出错的,错误信息如下:
The ORDER BY clause is invalid in views,inline functions,derived tables,subqueries,and common table expressions,unless TOP or FOR XML is also specified.
这里是一个子查询,在子查询中使用了order by ,但是没有使用top 关键字,所以会报错。
如果改成下面的sql语句:
select* from (select top 3 * from t_tableorder by field1)a
即能得到正确结果。
field1field2
11 bbb
11 eee
33 ddd
原文链接:https://www.f2er.com/xml/296154.html