Renvoyer les N enregistrements d’une table jointe

Utilisation de la fonction CROSS APPLY

Cette nouvelle fonction en plus d'être performante simplifie grandement l'écriture de certaines requêtes comme celui de retourner les n enregistrements d'une table jointe.

SELECT

CustomerID,

L.SalesOrderID

FROM

Sales.Customer c

CROSS
APPLY

(

SELECT

top 5 SalesOrderID

FROM

Sales.SalesOrderHeader s

WHERE

s.CustomerID = c.CustomerID

ORDER
BY

SalesOrderID DESC

 

) L

ORDER
BY

CustomerID