Arkadaşım SQL Yapısını yazarmısın.. Yani senin Beyaz Eşya kategorini belirten asıl id nedir. Benim senin sorundan anladığım
Beyaz EÅŸya
∟Televizyon
∟55 Ekran Televizyon
Kategori mantığın bu şekilde ise öncelikle Ana kategorilerini (Beyaz Eşya, Ankastreler, vs vs) For yada While ile listelersin. Listelerken de ana kategori id sini alttaki SQL ile bir alt kategorilerine bağlı ürünlerin toplamını alırsın…
SELECT count(u.id) as toplam From kategori as k, urunler as u WHERE k.( ANA KATEGORİ ID ni belirttiğin kolon adı) = (ÜST KATEGORİ ID) AND u.kat_id = k.id GROUP BY u.kat_id ORDER BY u.kat_id ASC
Yada kategori ve ürün tablolarının SQL yapısını yollarsan o zaman daha doğru bir sonuç elde edebiliriz…
From: linux-programlama-bounces_at_liste.linux.org.tr [mailto:linux-programlama-bounces_at_liste.linux.org.tr] On Behalf Of Altan Tanrıverdi
Sent: Thursday, July 03, 2008 10:01 AM
To: linux-programlama_at_liste.linux.org.tr
Subject: [Linux-programlama] Re: Ürün sayısını hesaplama
Bence sorulan soru okunmuyor...
2008/7/3 AYHAN YİĞİD <ayhan.yigid_at_multimedya.com>:
SELECT count(u.id) as toplam From kategori as k, urunler as u WHERE u.kat_id = k.id GROUP BY u.kat_id ORDER BY u.kat_id ASC // Bu şekilde bütün kategorilerin toplamını alırsın..
Eğer ki istediğin bir kategori toplamı varsa ozaman da WHERE ifadesinden sonra and u.kat_id = 111 eklersen oda çözülür…
Kolay gelsin
From: linux-programlama-bounces_at_liste.linux.org.tr [mailto:linux-programlama-bounces_at_liste.linux.org.tr] On Behalf Of Altan Tanrıverdi
Sent: Wednesday, July 02, 2008 11:12 AM
To: linux-programlama_at_liste.linux.org.tr
Subject: [Linux-programlama] Re: Ürün sayısını hesaplama
ID ler o şekilde düzenlenseydi işe yarardı ancak bu sorguların hiçbiri işe yaramayacaktır.
Birden fazla sorgu yapmak zorunda kalacaksınız veya sistem çok büyük değilse veritabanını düzenlemenizi tavsiye ederim.
Bence yapılması gereken aralık metodunu yerleştirmek veya urun kısmına en_ust_id gibi bir değer daha eklemeniz.
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
2008/7/2 Sühan Erol <suhan_at_ufotek.com.tr>:
Oracle için sorgusu aşağıdaki gibidir. Diğer veritabanları için araştırmanızda yardımcı olabilir.
SELECT count(*) FROM urunler WHERE kat_id IN (
SELECT DISTINCT id
FROM kategori
START WITH id=111---->beyaz eÅŸya kategorisinin ID'si
CONNECT BY PRIOR id = parent_id )
From: linux-programlama-bounces_at_liste.linux.org.tr [mailto:linux-programlama-bounces_at_liste.linux.org.tr] On Behalf Of OKAN
Sent: Tuesday, July 01, 2008 8:03 PM
To: linux-programlama_at_liste.linux.org.tr
Subject: [Linux-programlama] Ürün sayısını hesaplama
Merhabalar, id, parent_id mantığıyla oluşturulmuş bir ketegori tablosu uzerinden bir ornek vermek istiyorum.
Ör:
Beyaz Esya
Buzdolapları (ID:2, Urun Sayısı:12)
Televizyonlar (ID:3, Urun Sayısı:11)
Ankartreler
Ankastre Tip1 (ID:5, Urun Sayısı:2)
Ankartre Tip2 (ID:4, Urun Sayısı:3)
Yukarıdaki gibi bi kategori yapısında her kategorinin kendi ID'si mevcut ve her kategrinin altıdna ürünler var.
Urunler tablosu:
urun_id, kat_id, isim seklinde olsun.
Her kategori_id urun tablosuudna tutuluyor. Ancak ben Ust kategori olan Beyaz Eşya kategorisinin toplam urun sayısı olan 28 rakamını nasıl bir SQL ile hespalatırım?
Saygılar
OKAN
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
-- İyi çalışmalar... ======================================= Altan Tanrıverdi Çağ Grup Bilgi İşlem Müdürü www.cagajans.com www.turkiyevitrin.com Becerikli Sok. No: 19/ 8-9 06660 Kızılay/ANKARA T/F: 0312 434 29 34 ======================================= _______________________________________________ Linux-programlama mailing list Linux-programlama_at_liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama -- İyi çalışmalar... ======================================= Altan Tanrıverdi Çağ Grup Bilgi İşlem Müdürü www.cagajans.com www.turkiyevitrin.com Becerikli Sok. No: 19/ 8-9 06660 Kızılay/ANKARA T/F: 0312 434 29 34 =======================================
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Thu 03 Jul 2008 - 09:55:16 EEST