16-03-2008, 21:00
Çok sık karşılaştığımız yürüyen bakiye ( Birikmeli toplam, runningsum) sorunlarınız ve nasıl yapıldığı konusuna ait basit ama işlevsel bir örnek hazırladım. Bu konuyu ne zaman araştırırsanız araştırın karşınıza hep DSUM hazır fonksiyonu çıkacaktır ama aşağıdaki örnekte DSUM hiç kullanılmamıştır...
Tablomuzun adı tablo1, içerdiği alanlar;
id: oto sayı
Tarih: Kısa Tarh
Şehir: Metin
Cinsi: Metin
Adet: Sayı
Amacımız ;
Tarihe göre, şehire göre ve cinse göre yürüyen bakiye alabilmek
Tarihe göre almak;
------------------------------------------------------
Şehir'e göre almak;
-------------------------------------------------------
Cins'e göre almak;
-------------------------------------------------------
Gördüğünüz gibi hepsi birbirine çok benziyor dikkat etmeniz gereken toplamını almak istediğiniz alanı sıralamada başa almak ve "where" şartında oluşturduğumuz "a" alias isimli tablomuzla karşılaştırmak. Demek ki "a" alias (rumuz) ını da bu yüzden verdirdik tablomuza, bu rumuzlar aynı zamanda sql görünümde yazarken uzun tablo isimlerini kısaltmanız için de birebirdir.
Not: Biliyorum ki elma ve armut toplanmaz. Mazur görün
Aşağıya yukarıdaki tüm olayların bir örneğini ekliyorum..
Tablomuzun adı tablo1, içerdiği alanlar;
id: oto sayı
Tarih: Kısa Tarh
Şehir: Metin
Cinsi: Metin
Adet: Sayı
Amacımız ;
Tarihe göre, şehire göre ve cinse göre yürüyen bakiye alabilmek
Tarihe göre almak;
SQL
- SELECT a.id, a.Tarih, a.Cinsi, a.Şehir, a.Adet,
- (SELECT SUM(adet) FROM tablo1 WHERE tarih=a.tarih AND id<=a.id ) AS toplam
- FROM Tablo1 AS a
- ORDER BY a.Tarih, a.id;
------------------------------------------------------
Şehir'e göre almak;
SQL
- SELECT a.id, a.Şehir, a.Cinsi, a.Adet,
- (SELECT SUM(adet) FROM tablo1 WHERE şehir=a.şehir AND id<=a.id) AS toplam
- FROM Tablo1 AS a
- ORDER BY a.Şehir, a.id;
-------------------------------------------------------
Cins'e göre almak;
SQL
- SELECT a.id, a.Cinsi, a.Şehir, a.Adet,
- (SELECT SUM(adet) FROM tablo1 WHERE cinsi=a.cinsi AND id<=a.id) AS toplam
- FROM Tablo1 AS a
- ORDER BY a.Cinsi, a.id;
-------------------------------------------------------
Gördüğünüz gibi hepsi birbirine çok benziyor dikkat etmeniz gereken toplamını almak istediğiniz alanı sıralamada başa almak ve "where" şartında oluşturduğumuz "a" alias isimli tablomuzla karşılaştırmak. Demek ki "a" alias (rumuz) ını da bu yüzden verdirdik tablomuza, bu rumuzlar aynı zamanda sql görünümde yazarken uzun tablo isimlerini kısaltmanız için de birebirdir.
Not: Biliyorum ki elma ve armut toplanmaz. Mazur görün

Aşağıya yukarıdaki tüm olayların bir örneğini ekliyorum..
Javascript
- this.setState({sign:"Here comes the sun...."})

