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



在子查詢語句中,不能使用Order by語句,除非使用topfor 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

 

即能得到正確結果。

field1       field2

11             bbb

11             eee

33             ddd




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章