Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Korzystanie z kolumny pochodnej funkcji rankingowej w klauzuli WHERE (SQL Server 2008)

Musisz przenieść operator WHERE powyżej lista projektów, w której tworzona jest kolumna RowNumber. Użyj tabeli pochodnej lub CTE:

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

równoważny CTE to:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przestawić wiele kolumn bez agregacji

  2. Dołączanie do tabeli klientów i tagów

  3. Czy mogę zapisać „Obiekt” w bazie danych SQL Server?

  4. Ograniczenie samoodniesienia w MS SQL

  5. Przekazywanie parametrów dynamicznych do procedury składowanej w SQL Server 2008