sql >> Base de Datos >  >> RDS >> Sqlserver

Ayuda de declaración SQL:seleccione el pedido más reciente para cada cliente

No creo que quieras usar MAX() ya que no quieres agrupar el OrderID. Lo que necesita es una subconsulta ordenada con SELECT TOP 1.

select * 
from Customers 
    inner join Orders 
        on Customers.CustomerID = Orders.CustomerID
        and OrderID = (
            SELECT TOP 1 subOrders.OrderID 
            FROM Orders subOrders 
            WHERE subOrders.CustomerID = Orders.CustomerID 
            ORDER BY subOrders.OrderDate DESC
        )