Zde je další způsob, jak to udělat bez dílčích dotazů. Tato metoda často překonává ostatní, takže stojí za to vyzkoušet obě metody, abyste zjistili, která poskytuje nejlepší výkon.
SELECT
PRT.PartID,
PRT.PartNumber,
PRT.Description,
PRC1.Price,
PRC1.PriceDate
FROM
MyParts PRT
LEFT OUTER JOIN MyPrices PRC1 ON
PRC1.PartID = PRT.PartID
LEFT OUTER JOIN MyPrices PRC2 ON
PRC2.PartID = PRC1.PartID AND
PRC2.PriceDate > PRC1.PriceDate
WHERE
PRC2.PartID IS NULL
To poskytne více výsledků, pokud máte dvě ceny se stejným PŘESNÝM datem ceny (většina ostatních řešení bude dělat totéž). Také není nic, co by zohledňovalo poslední datum ceny v budoucnosti. Možná budete chtít zvážit kontrolu bez ohledu na to, kterou metodu nakonec použijete.