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.

MySql-Tablo-Uyeler

MySql-Tablo-Uye-Islemler

ü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

Uygulama Örnek Sayfası

Paylaş: