sql >> Base de Datos >  >> RDS >> Sqlserver

Uso de la columna derivada de la función de clasificación en la cláusula where (SQL Server 2008)

Debe mover el operador WHERE arriba la lista de proyectos donde se crea la columna RowNumber. Utilice una tabla derivada o un CTE:

SELECT * 
  FROM (
   SELECT *, ROW_NUMBER() OVER (...) as RowNumber
   FROM ...) As ...
 WHERE RowNumber = ...

el CTE equivalente es:

WITH cte AS (
SELECT *, ROW_NUMBER() OVER (...) as RowNumber
       FROM ...)
SELECT * FROM cte 
WHERE RowNumber = ...