[Linux-programlama] Re: Ürün sayısını hesaplama

---------

[Linux-programlama] Re: Ürün sayısını hesaplama

From: AYHAN YİĞİD <ayhan.yigid_at_multimedya.com>
Date: Thu, 3 Jul 2008 10:29:06 +0300
Message-ID: <000f01c8dcde$7a293330$6e7b9990$@yigid@multimedya.com>

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

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.