Belli bir tablodaki bilgilere göre başka bir tabloyu güncellemenin tek satırlık SQL ile yapabilecek bir yolu olduğunu
keşfedince bir çok uzun süren işlemi saniylere indirerek kod karmaşasından kurtuldum, bilmeyen arkadaşlar için paylaşmak istedim.
Senaryomuz şu olsun,
Cari hareket kayıtlarına bakarak Cari kartlara borç alacak rakamlarını yazacak bir yapı kuralım,(çok gereksiz bir şey ama anlaşılması kolay olsun dedim aklıma bu geldi)
Kod: Tümünü seç
CariHesapKartiTablosu
---------------------
id
toplamborc
toplamalacak
CariHareketTablosu
--------------------
id
cariid
borc
alacak
Kod: Tümünü seç
CariHesapKartiTablosu
id toplamborc toplamalacak
--- --------- -----------
1 0 0
2 0 0
CariHareketTablosu
id cariid borc alacak
-- ------ ---- ------
1 1 10 0
2 1 0 5
3 1 20 0
4 1 0 20
5 2 100 0
6 2 0 100
..
.
.
.
şimdi biz CariHareketTablosu isimli tabloda ki tüm kayıtları ele alarak ilgili cariHesapKarti na tuturları yazdıralım
Cümlemiz şu,
Kod: Tümünü seç
UPDATE CariHesapKartiTablosu CHT , CariHareketTAblosu CHRT SET CHT.toplamborc = CHT.toplamborc + CHRT.borc , CHT.toplamalacak = CHT.toplamalacak + CHRT.alacak where CHT.id=CHRT.cariid
sql kodunu çalıştırınca CAriHesapKarti tablomuz aşağıdaki şekli alır.Cümleyi geliştirebilirsiniz ihtiyaca göre, bu en temel kullanım şekliydi, inşallah açıklayıcı olmuştur ve yararlı olur.
Kod: Tümünü seç
CariHesapKartiTAblosu
id toplamborc toplamalacak
--- --------- -----------
1 30 25
2 100 100