Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
556
Tıklama
0
Öne Çıkarma
SQL ile Gelişmiş Güncelleme
M
19 yıl
Çavuş
Konu Sahibi

Arkadaşlar, sözgelimi 3 sütun olsun bir tabloda. Şöyle ki.
ID, ToplamBorç, YeniBorç

Yani ToplamBorç, önceki satırdaki ToplamBorç ve şimdiki satırdaki YeniBorç toplamıdır.

Şimdi, diyelim ki, 10 kayıt var ve ben 5. kayıtta değişiklik yaptım. Haliyle, 6,7,8,9,10 kayıtlarındaki ToplamBorç değerleri değişecektir.

İşte bir döngü kullanmadan, bu değişiklikleri hesaplayarak güncelleyen SQL cümlesi ne olabilir?

Biraz araştırdım, UPDATE komutunun gelişmiş kullanılma durumu da varmış. Ama uyarlayamadım. Buraya kopyalayayım, belki size fikir verir.

Teşekkürler...

-------------------------
UPDATE supplier
SET supplier_name = ( SELECT customer.name
FROM customers
WHERE customers.customer_id = supplier.supplier_id)
WHERE EXISTS
( SELECT customer.name
FROM customers
WHERE customers.customer_id = supplier.supplier_id);
--------------------------

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



Y
19 yıl
Teğmen

bence bütün borçların tek tek listesini tut, her borçlanma 1 kayıt olsun, toplam borcu bulacağın zamanda, her kayıttaki borcu topla,

exceldeki gibi misal, topla(A1:A15), gibi


Bu mesaja 1 cevap geldi.
E
19 yıl
Yüzbaşı

Arkadaşm nasıl insert yapıyorsun bu tabloya.. Açıkcası ben nasıl bir veri saklama mantığın oldugunu pek anlayamadım. Mesela eski borçları tutman gerekiyor mu? Evetse yeniborc alanına neden ihtiyacın var, fazla gibi. Cunku zaten borcları sıraladıgında aralarındaki fark borcun ne oldugunu gosterecekir. Yani asıl database yapını bi kontrol edip değiştirmeye bak bence..


Bu mesaja 1 cevap geldi.
M
19 yıl
Çavuş
Konu Sahibi

Ya arkadaşlar, ben sadece örnek olsun diye basitleştirerek verdim. Oysa gerçekte
Devir, Zimmet, İade, Tahsil gibi alanlar sözkonusu.
Mesela Devir, adamın o anki borcu; Zimmet ise, yeni aldığı ürünün ücreti. Böylelikle sonraki kayıttaki Devir, bu ikisinin toplamı olacaktır.

Saygılar...





< Bu mesaj bu kişi tarafından değiştirildi m1gin -- 18 Eylül 2006; 16:50:31 >
Bu mesaja 1 cevap geldi.
B
19 yıl
Yüzbaşı

bu kayıtların ilişkiselliği noktasında sorgulamada bulduğu değer sonucunda update yaparsan halledersin...
kolay gelsin...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.