Tem 04
Mysql’de tabloların bağlanması esnasında yapılan eşleştirmeyi en güncel kaydı kullanarak yapmasına ihtiyacımız olabilir. Mesela bir ürünün çeşitli zamanlardaki fiyatlarının tutulduğu bir zaman fiyat bilgileri tablosunda ürünün en güncel fiyatını öğrenmek istersek iki yöntemle bunu yapabiliriz.
1. yöntemde subquery kullanalım:
SELECT * FROM urun INNER JOIN (SELECT max(tarih),fiyat,urun_id FROM urun_fiyat GROUP BY urun_id) AS urun_fiyat ON urun_fiyat.urun_id=urun.urun_id
2. yöntemde left join kullanalım:
SELECT * FROM urun INNER JOIN urun_fiyat ON urun_fiyat.urun_id=urun.urun_id LEFT JOIN urun_fiyat AS gecici ON urun_fiyat.urun_id=gecici.urun_id AND urun_fiyat.tarih<gecici.tarih WHERE gecici.urun_fiyat_id IS NULL


Son Yorumlar