Me enfrenta un error extraño en SQL Server y quiero alguna explicación al respecto.Cláusula ORDER BY de SQL Server en la subconsulta
Cuando escribo ORDER BY
en una subconsulta, por ejemplo
SELECT a FROM (SELECT * FROM A ORDER BY a) T
que arroja el siguiente error
La cláusula ORDER BY no es válida en vistas, funciones en línea, que se deriven mesas, subconsultas, y expresiones de tablas comunes, a menos que también se especifique TOP o FOR XML.
Pero cuando se utiliza TOP
en subconsulta funciona normalmente
SELECT a
FROM
(SELECT TOP 1000000 * FROM A ORDER BY a) T
Así que, ¿significa que puedo seleccionar recuento fila superior de A, en lugar de
SELECT a FROM (SELECT * FROM A ORDER BY a) T
En ese caso . ¿Cuál es la razón del error?
Comportamiento de la cláusula ORDER BY en vistas, tablas derivadas, funciones en línea y subconsultas en SQL 2000 http://support.microsoft.com/kb/841845/en-us –