Most recent record in a left join

前端 未结 3 1103
执笔经年
执笔经年 2020-12-23 09:06

Imagine I have the following 3 tables in SqlServer:

Customer (CustomerID, FirstName, LastName)
Address (AddressID, CustomerID, Line1, City, State)
Product (P         


        
3条回答
  •  悲&欢浪女
    2020-12-23 09:57

    Try this:

    SELECT a.State, count(c.CustomerID)
    FROM Product p
    INNER JOIN Customer c ON c.CustomerID = p.CustomerID
    LEFT JOIN Address a ON a.CustomerID = c.CustomerID 
          AND a.AddressID = 
            (
               SELECT MAX(AddressID) 
               FROM Address z 
               WHERE z.CustomerID = a.CustomerID
            )
    WHERE p.ProductID = 101
    GROUP BY a.State
    

提交回复
热议问题