Verdiğiniz örnekteki gibi denedim, sadece bir alt seviyede bağlı olan 
kayıtları topluyor, benim istediğim tüm alt dallardakileri toplaması.



Uygar UZUNHASAN yazmış:
> Tabloya "A" diyorum, istediğiniz sanırım şu:
> 
> SELECT id, parent_id, kod, ad, sayi, toplam_sayi
> FROM
>       (Select parent_id as pid, sum(sayi)as toplam_sayi FROM A GROUP BY 
> parent_id) AS B, A
> WHERE B.pid=A.parent_id
>  
> Uygar UZUNHASAN
> http://www.nobelyazilim.com/
> 
> 
> 
> ------------------------------------------------------------------------
> *From:* Timuçin Kızılay <[email protected]>
> *To:* Özgür yazılımlarla çeşitli dillerde yazılım geliştirme 
> <[email protected]>
> *Sent:* Wed, April 14, 2010 1:56:09 PM
> *Subject:* [Linux-programlama] SQL sorgusu.
> 
> Elimde şuna benzer, ağaç yapısında bir tablo var:
> 
> id int,
> parent_id int,
> kod varchar(20),
> ad varchar(50),
> sayi float
> 
> 
> bu tablodaki kayıtlar id ve parent_id alanlarından birbirine bağlı
> olarak ağaç yapısında.
> Şimdi benim bu tablodan almaya çalıştığım bilgi, herhangi bir kaydın tüm
> bağlı kayıtlarındaki sayi alanının toplamı.
> 
> kod, ad, sayi, alt_toplam_sayı, toplam_sayi şeklinde satırları olan bir
> sorgu yapamaya çalışıyorum ama tek bir sorgu ile bunu almayı
> başaramadım. istemci tarafında recursive bir fonksiyon ile alabiliyorum
> ama kayıt sayısı arttığında bu recursive fonksiyon içinden tekrar tekrar
> sorgulamak çok yavaşlayacak diye düşünüyorum. Bunun kolay bir yolu var
> mıdır?
> 
> Dil olarak python ve sqlalchemy kütüphanesi kullanıyorum ama burada
> merak ettiğim olay algoritma ile ilgili bu yüzden herhangi bir dille ya
> da sql sorgusu olarak yanıt verirseniz de bir şekilde python'a çeviririm.

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap