Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzo della colonna derivata dalla funzione di classificazione nella clausola where (SQL Server 2008)

Devi spostare l'operatore WHERE sopra l'elenco dei progetti in cui viene creata la colonna RowNumber. Usa una tabella derivata o un CTE:

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

il CTE equivalente è:

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