SQL'de Join ve Update Birlikte Kullanımı:
Elimizde WFPROCATTRIB adında bir tablo olsun. Bu tablonun NMSTRING adındaki kolon datalarını DYNANAFORM ve WFPROCATTRIB adlarındaki tablolara bağlı olarak güncellemek istiyoruz. Bunun için UPDATE sorgumuzun içerisinde DYNANAFORM ve WFPROCATTRIB adlarındaki tabloların JOIN sorgusunu kullanmamız gerekiyor. Bu işlemi yapabilmek için WFPROCATTRIB adındaki tablonun güncellemek istediğimiz NMSTRING adındaki kolonu aşağıda görüldüğü gibi direkt WFPROCATTRIB,DYNANAFORM ve WFPROCATTRIB adlarındaki bu 3 tablonun birbirine bağlı olduğu JOIN sorgusunun döndürdüğü değerlerle güncelleyebiliriz. Aynı zamanda WFPROCATTRIB adındaki tablonun UPDATE sorgusuna başka bir tabloya dayalı bir koşul yazmak istediğimizde UPDATE set ayarından sonra FROM ile devam ettirerek aşağıdaki örnekte olduğu gibi WFPROCESS adındaki tabloya atayacağımız koşula göre UPDATE sorgumuzu istediğimiz bir koşula göre yazabiliriz.
UPDATE WFPROCATTRIB WFATB set NMSTRING=(SELECT FIRMAADI FROM DYNANAFORM DYNFRM JOIN WFPROCESS WFPRS ON DYNFRM.SURECID=WFPRS.IDPROCESS JOIN WFPROCATTRIB WFATB ON WFPRS.IDOBJECT=WFATB.IDPROCESS ORDER BY SURECID DESC LIMIT 1) FROM WFPROCESS WFPRS WHERE WFATB.CDATTRIBUTE=24 AND WFATB.IDPROCESS=(SELECT WFPRS.IDOBJECT FROM DYNANAFORM DYNFRM JOIN WFPROCESS WFPRS ON DYNFRM.SURECID=WFPRS.IDPROCESS JOIN WFPROCATTRIB WFATB ON WFPRS.IDOBJECT=WFATB.IDPROCESS ORDER BY SURECID DESC LIMIT 1);
SQL'de Tabloya Eklenen En Son Kaydı Döndürmek:
SELECT WFPRS.IDOBJECT FROM DYNANAFORM DYNFRM JOIN WFPROCESS WFPRS ON DYNFRM.SURECID=WFPRS.IDPROCESS JOIN WFPROCATTRIB WFATB ON WFPRS.IDOBJECT=WFATB.IDPROCESS ORDER BY SURECID DESC LIMIT 1
Hiç yorum yok:
Yorum Gönder