Merhaba,
MySQL için benim de böyle bir yapıya ihtiyacım olduğunda şöyle bir yazı 
bulmuştum:

http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/

Fehmi Ziya Akyüz

----------------------------------------------------------------------------------
Perşembe 15 Nisan 2010 13:07 tarihinde Omer Barlas <[email protected]>
----------------------------------------------------------------------------------
>Elvin Şiriyev @ 15-04-2010 10:37:
>> Oturumu hızlıca okumaya çalışdım. alakası varsa (ve hatta yoksa bile) bu
>> konunun öğrenilmesi gereklidir:
>> http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
>
>yeni okudum bende konuyu, aynı sayfaya işaret edecektim. yalnız dikkat
>edilmesi gereken bir nokta var, mysql hiyerarşik verileri tek query ile
>gösterme yeteneğine sahip değil. bunun yerine subquery'ler ile çalışmak
>gerekiyor ve subquery sayılarını siz belirliyorsunuz, yani sonsuz miktarda
>sub category yaratmak maalesef mümkün olamıyor.
>
>mümkün olanlarda ise şöyle bir problem baş gösteriyor, en azından benim
>ihtiyacım olan şey şöyleydi, bir adet stok ağacımız var, mesela şöyle
> gidiyor;
>
>Elektrik > Şalt Malzemeleri > W Otomatlar > 1x6A Otomat
>
>gibi, bunu göstermek istediğinizde şöyle bir query yazıyorsunuz;
>
>SELECT * FROM Kategori
>  LEFT JOIN Kategori AS subKategori ON subKategori.Sahip = Kategori.Id
>  LEFT JOIN Kategori AS subsubKategori ON subsubKategori.Sahip =
> subKategori.Id
>
>ama bunu elle müdahale etmeden sınırsız hale getiremiyorsunuz, hatta şunu da
>yapamıyorsunuz, mesela bu kategorileri sıralatırken mesela ben sadece W
>Otomatların toplam stok maliyeti içerisinde toplamda ne kadar tuttuğunu
>görmek istiyorum, bunun için sadece W Otomat'a tıklamam yetmiyor, bir de
>oturup ona özel bir query vs yazmam gerekiyor -otomatik olmuyor maalesef,
>stok yapımız biraz karmaşık-, gibi detaylar var.
>
>bir de şu problem oldu, mesela bir ürünü komple taşımak istiyorum, ve
>bunların her biri benim için bir ürün kategorisi, SELECT kutusunun içinde
>şunu da gerçekleştiremedim;
>
>Elektrik
>Elektrik > Şalt Malzemeleri
>Elektrik > Şalt Malzemeleri > W Otomatlar
>Elektrik > Şalt Malzemeleri > Termik Şalterler
>Elektrik > Fanlar
>...
>...
>vs, örnekler çoğaltılabilir. Genel olarak subKategori ortamını oluştururken
>aşırı dinamik bir yapı oluşturamıyorsunuz, daha çok sabit seçenekler mümkün.
>Aşırı dinamik yapılar için ise *mutlaka* birden fazla query ile çalışmak
>zorunda kalıyorsunuz. Ha, ne kadar tercih edilebilir orası ayrı, sırf bu iş
>için ayırdığınız bir sunucunuz vardır, kör topal idare ediyordur ama bir kaç
>bin üründen oluşan bir ürün ağacınız varsa gerçekten can sıkabilir.
>
----------------------------------------------------------------------------------

_______________________________________________
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