Inilah cara lain untuk melakukannya tanpa subquery. Metode ini sering kali mengungguli yang lain, jadi ada baiknya menguji kedua metode untuk melihat mana yang memberikan kinerja terbaik.
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
Ini akan memberikan beberapa hasil jika Anda memiliki dua harga dengan Tanggal Harga PERSIS yang sama (Kebanyakan solusi lain akan melakukan hal yang sama). Juga, saya tidak ada yang memperhitungkan tanggal harga terakhir di masa depan. Anda mungkin ingin mempertimbangkan pemeriksaan untuk itu terlepas dari metode mana yang akhirnya Anda gunakan.