MySql – Update Sorgusunda Join Kullanımı
MySql sorgularında Update komutunu kullanırken başka tablodan bir değeri alıp güncellemek istediğimizde malesef
belki sizlerinde ilk aklına gelen aşağıdaki şekilde sorgu çalıştıramıyoruz.
UPDATE tablo1 a INNER JOIN tablo2 b ON a.ID = b.ID SET a.bilgi = b.bilgi WHERE 1
UPDATE sorgusunda Join kullanım şeklini örnekli olarak göstermeye çalışacağım.
uyeler ve uye_islem adında iki adet tablom ve değelerleri aşağıdaki resimdeki gibidir.
üyeler kısmında son işlem tarihini uye_islem tablomdaki en son eklenen islem tarihi değere göre tutuyorum.
Buradaki değerleri aşağıdaki sorgumla tek bir hamlede güncelleyebilmekteyim.
UPDATE uyeler a,( SELECT b.uyeIslemID,b.uyeID,MAX(b.uyeIslemTarih) as islemTarih FROM uye_islem b GROUP BY b.uyeID) c SET a.uyeSonIslemTarih = c.islemTarih WHERE 1 AND a.uyeID = c.uyeID
Yorum Yap