SQL: Joins, group by etc..

1 post / 0 new
benzzon
benzzon's picture
SQL: Joins, group by etc..

--
-- Selectsats för att returnera parent-child data, där unika rader
-- önskas i resultatet. För child-data returneras endast den post
-- som har max/högsta id för kolumnen "ProductID" i exemplet.
--
-- Scriptet visar även data för child-kolumnen "UnitPrice" som
-- hör till child-posten med max/högsta id.
--

USE Northwind
GO

SELECT Parent.OrderID, Child.ProductID, Child.UnitPrice
FROM [Orders] Parent
 INNER JOIN
  (SELECT Child.OrderID, Child.ProductID, Child.UnitPrice
    FROM [Order Details] Child
     INNER JOIN
      (SELECT OrderID , MAX(ProductID) AS ProductID FROM [Order Details] GROUP BY OrderID) maxchild
     ON Child.OrderID = maxchild.OrderID
        AND Child.ProductID = maxchild.ProductID
      ) Child
 ON Parent.OrderID = Child.OrderID
ORDER BY
Parent.OrderID

GO