Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando a coluna derivada da função de classificação na cláusula where (SQL Server 2008)


Você deve mover o operador WHERE acima a lista de projetos onde a coluna RowNumber é criada. Use uma tabela derivada ou um CTE:
SELECT * 
  FROM (
   SELECT *, ROW_NUMBER() OVER (...) as RowNumber
   FROM ...) As ...
 WHERE RowNumber = ...

o CTE equivalente é:
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (...) as RowNumber
       FROM ...)
SELECT * FROM cte 
WHERE RowNumber = ...