Bir tabloyu diğer tablodan koşullu olarak güncellemek

Standard

Merhaba, Bugün çok basit bir işleme değineceğiz… Veritabanında güncelleme yapmak! Tabi SET kolon=’Değer’ yerine kolonumuz değerini başka bir tablodaki ilişkili veriden alacak.

Örnek vermek gerekirse; elinizde kişi listesi bulunan A tablosu ve kişi listesi olan B tablosu var diyelim ki. B tablosunda olup aynı zamanda A tablosunda bulunan kişilerin verilerini, B tablosundaki veriler ile güncelleme yapmak istiyorsanız ve bu işlem de belirli koşullara bağlı olacaksa doğru yerdesiniz.

Aslında saçma sapan gelen sorular yüzünden mesleki yazılar yazmaya tövbeliydim ancak bugün iyilik meleğim kulağıma fısıldadı ve uzun zaman sonra ingilizce bilmeyen yurdum insanlarının derdine derman olacağım bir yazı yazma kararı aldım..
Not: Bu saçma sapan sorulara açık olduğum anlamına gelmez 😉

UPDATE  tablo1 t1
  SET (t1.kolon1, t1.kolon2) = (SELECT t2.kolon1,t2.kolon2 FROM tablo2 t2 WHERE t1.kolon1 = t2.kolon1)
WHERE t1.kolon3 = 1 AND t1.kolon4="E" AND t1.kolon1 IN (SELECT t2.kolon1 FROM tablo2 t2)

tablo1 deki kolon1 ve tablo2 deki kolon1 alanları aynı olan tablo1 kayıtlarının, kolon1 ve kolon2 verilerini, tablo2 deki kolon1 ve kolon2 verileri ile güncelliyoruz. Bu işlemi yaparken de tablo1 deki kolon3 ve kolon4 durumlarını dikkate alarak yapıyoruz.

İyi çalışmalar…

Print Friendly, PDF & Email
Facebooktwitterlinkedin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.