Ето още един начин да го направите без подзаявки. Този метод често превъзхожда другите, така че си струва да тествате и двата метода, за да видите кой дава най-добра производителност.
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
Това ще даде множество резултати, ако имате две цени с една и съща ТОЧНА дата на цена (повечето други решения ще направят същото). Освен това няма какво да отчитам, че последната дата на цената е в бъдеще. Може да помислите за проверка за това, независимо кой метод ще използвате.