En iyi yanıtlayıcılar
Sql kümülatif ve sıra numarası

Soru
-
Merhaba üstatlar,
Sizden ricam sorumu sonuna kadar iyice okuyun. acil yardıma ihtiyacım var...
1 - Delphi ve access veritabanı kullanıyorum.
access veritabanında hareket adında bir tablom var bu tabloda id, tarih, alacak, borc, bakiye adında alanlar var delphide aşağıdaki gibi bir çıktı elde etmem gerekiyor...
Bakiyeyi sql ile nasıl hesaplatabilirim. Kayıtlar tarihe göre sıralı olacak tarih aynıysa id e göre sıralı olacak. Tabi her yeni kaydın tarihi geçmiştede olabileceği için yeni kayıt ekledikten sonra ve her güncellemedende sonra bunun hesaplanması gerekiyor. Bu işlemi nasıl yaparım?
Delphi içinden kodla yaptırınca uzun sürüyor. bu yüzden sql ile yapmanın bir yolunu bulmam gerekiyor.Response.Write "Müslüm CENGİZ"
Yanıtlar
-
Mrhaba,
Self join ile yapabilirsiniz.
Örneğin:
SELECT *,
(SELECT SUM(alacak)-SUM(borc) FROM
hareket h2
WHERE h2.id<=h1.IDENTITYCOL) AS bakiye
FROM hareket h1http://ismailadar.com/
- Yanıt Olarak Öneren MustafaTorun 26 Nisan 2012 Perşembe 12:33
- Yanıt Olarak İşaretleyen Serkan Bark 2 Mayıs 2012 Çarşamba 06:35
Tüm Yanıtlar
-
Aslında bunu sql ile yapabilirsin ama tam dediğini anlamadım söyle göstereyim.
Select id,tarih, (bakiye-alacak) as 'Borc'
From hareket
order by tarih
burdan yola çıkmanı dilerim. Sanırım yukardaki alanlardan biri gereksiz. Sen sorguyu böyle yazarsan daha rahat edersin. kolonların ne işe yaradığını bilmiyorum çünkü
-
Mrhaba,
Self join ile yapabilirsiniz.
Örneğin:
SELECT *,
(SELECT SUM(alacak)-SUM(borc) FROM
hareket h2
WHERE h2.id<=h1.IDENTITYCOL) AS bakiye
FROM hareket h1http://ismailadar.com/
- Yanıt Olarak Öneren MustafaTorun 26 Nisan 2012 Perşembe 12:33
- Yanıt Olarak İşaretleyen Serkan Bark 2 Mayıs 2012 Çarşamba 06:35