Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

T SQL - Remplacement éloquent de la sous-requête corrélée

Je le ferais avec un 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