Här är ett annat sätt att göra det utan underfrågor. Denna metod kommer ofta att överträffa andra, så det är värt att testa båda metoderna för att se vilken som ger bäst prestanda.
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
Detta kommer att ge flera resultat om du har två priser med samma EXAKTA prisdatum (de flesta andra lösningar kommer att göra detsamma). Dessutom finns det inget att ta hänsyn till att det senaste prisdatumet ligger i framtiden. Du kanske vill överväga en check för det oavsett vilken metod du slutar använda.