1. 程式人生 > >在子查詢語句(或檢視等)中,不能使用Order by語句,除非使用TOP 或 FOR XML

在子查詢語句(或檢視等)中,不能使用Order by語句,除非使用TOP 或 FOR XML



在子查詢語句中,不能使用Order by語句,除非使用topfor xml

如下面的表t_table

field1field2

11eee

11bbb

44aaa

33ddd

55ccc

有下面的SQL語句

執行是會出錯的,錯誤資訊如下:

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

11bbb

11eee

33ddd