5
我在SQL Server中遇到了一個奇怪的錯誤,我想對它進行一些解釋。子查詢中的SQL Server ORDER BY子句
當我寫ORDER BY
在子查詢,例如
SELECT a FROM (SELECT * FROM A ORDER BY a) T
它引發以下錯誤
ORDER BY子句是在視圖中,內聯函數無效,派生 表,子查詢和通用表格表達式,除非TOP或FOR XML也被指定。
但是當我在子查詢中使用TOP
它正常工作
SELECT a
FROM
(SELECT TOP 1000000 * FROM A ORDER BY a) T
那麼,這是否意味着我可以選擇的頂行數,而不是
SELECT a FROM (SELECT * FROM A ORDER BY a) T
在這種情況下, 。錯誤的原因是什麼?
SQL 2000中視圖,派生表,內聯函數和子查詢中ORDER BY子句的行爲http://support.microsoft.com/kb/841845/en-us – 2011-12-26 08:34:03