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
