Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Hilfe zu SQL-Anweisungen - Wählen Sie die neueste Bestellung für jeden Kunden aus

Ich glaube nicht, dass Sie MAX() verwenden möchten, da Sie die OrderID nicht gruppieren möchten. Was Sie brauchen, ist eine geordnete Unterabfrage mit einem 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
        )