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

T SQL — elokwentne zastąpienie skorelowanego podzapytania

Zrobiłbym to z CTE:

WITH Result AS
(
  SELECT Row_Number() OVER (PARTITION BY ItemId, Year
ORDER BY ItemversionId DESC) AS RowNumber
      ,ItemId
      ,ItemversionId
      ,Year
      ,Value
  FROM table
)
SELECT ItemId
  ,ItemversionId
  ,Year
  ,Value
FROM Result
WHERE RowNumber = 1
ORDER BY ItemId, Year


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obowiązkowy klucz podstawowy dla serwera SQL

  2. Formatowanie danych wyjściowych programu Powershell SQL Server na kolumny i wiersze

  3. Kaskadowo skopiuj wiersz ze wszystkimi wierszami podrzędnymi i ich wierszami podrzędnymi itp.

  4. DateTimeOffset. Now w T-SQL

  5. Jak zmienić schemat db na dbo