folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder SQL Sorgusu - Altında Kayıt Olan Veriler



SQL Sorgusu - Altında Kayıt Olan Veriler

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Hocalar selam

    Kısaca şöyle özetleyeyim. Kategoriler ve ürünler var. Ben sadece kategorileri listelemek istiyorum ama ona bağlı ürün olsun. Bu sorgu en performanslı yöntem sizce hangisi?

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yazilimci
    Yazilimci's avatar
    Kayıt Tarihi: 01/Şubat/2014
    Erkek

    Hocam kategori ve ürün tablosu ayrı olmalı zaten. Sadece kategorileri listelemek istiyorsan "select * from kategoriler" yazar çekersin. "Ben sadece kategorileri listelemek istiyorum ama ona bağlı ürün olsun" şu bold yazdığım yeri biraz daha açıklarsan daha net cevaplar gelebilir hocam


    Titanyumun gücü adına!!!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    farklı iki tablo zaten. 

    Kategoriler
    id
    adi

    ----

    Ürünler
    id
    kat_id
    adi

     

     

    select * from Kategoriler olarak istiyorum ama altında ürün olanlar gelsin sadece

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    _DevLop_
    _DevLop_'s avatar
    Kayıt Tarihi: 17/Ağustos/2015
    Erkek

    Tablo yapını bilmiyorum fakat mantıklı bir yapın varsa aşağıdaki sorgu ile söylediğin mümkün olur..

    Bu sorgu ile ürüne bağlı olan kategorileri getirebilirsin. 

    SELECT * FROM T_KATEGORILER K

    INNER JOIN T_URUNLER U ON U.KATEGORI_ID = K.KATEGORI_ID

     


    ‘A’ Developer is a good starter and a good finisher as well
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    _DevLop_ bunu yazdı

    Tablo yapını bilmiyorum fakat mantıklı bir yapın varsa aşağıdaki sorgu ile söylediğin mümkün olur..

    Bu sorgu ile ürüne bağlı olan kategorileri getirebilirsin. 

    SELECT * FROM T_KATEGORILER K

    INNER JOIN T_URUNLER U ON U.KATEGORI_ID = K.KATEGORI_ID

     

    hocam bu şekilde (INNER JOIN'li olarak) örneğin bi ARABA kategorinin altında kaç tane ürün varsa o kadar geliyor. 

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    _DevLop_
    _DevLop_'s avatar
    Kayıt Tarihi: 17/Ağustos/2015
    Erkek

    Amacını tam anlatabilirsen istediğin sorguyu söyleyebiliriz ya da yazabiliriz. Ben anlayamadım tam olarak ne demek istedğini. 


    ‘A’ Developer is a good starter and a good finisher as well
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    _DevLop_ bunu yazdı

    Amacını tam anlatabilirsen istediğin sorguyu söyleyebiliriz ya da yazabiliriz. Ben anlayamadım tam olarak ne demek istedğini. 

    select * from Kategori where (select count(*) from Urun u where u.KatD = Kategori.ID)>0

     

    hocalar şu şekilde çalıştırabiliyorum ben istediğimi ama performans olarak çok data olunca bizi üzer gibime geliyor.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    _DevLop_
    _DevLop_'s avatar
    Kayıt Tarihi: 17/Ağustos/2015
    Erkek
    cemnet bunu yazdı
    _DevLop_ bunu yazdı

    Amacını tam anlatabilirsen istediğin sorguyu söyleyebiliriz ya da yazabiliriz. Ben anlayamadım tam olarak ne demek istedğini. 

    select * from Kategori where (select count(*) from Urun u where u.KatD = Kategori.ID)>0

     

    hocalar şu şekilde çalıştırabiliyorum ben istediğimi ama performans olarak çok data olunca bizi üzer gibime geliyor.

    Ben bizim ekipte böyle bir sorguyu asla kabul etmem yazana yazılım müdürü engel olur. Böyle bir syntax yok :). O yüzden yapmaya çalıştığını anlayabilirsem düzgün bir sorgu çıkar.

    Söylediğin gibi performans açısından bakarsan 10.000 üzerindeki kayıtlarda problem çıkartmaya başlar..


    ‘A’ Developer is a good starter and a good finisher as well
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    _DevLop_ bunu yazdı
    cemnet bunu yazdı
    _DevLop_ bunu yazdı

    Amacını tam anlatabilirsen istediğin sorguyu söyleyebiliriz ya da yazabiliriz. Ben anlayamadım tam olarak ne demek istedğini. 

    select * from Kategori where (select count(*) from Urun u where u.KatD = Kategori.ID)>0

     

    hocalar şu şekilde çalıştırabiliyorum ben istediğimi ama performans olarak çok data olunca bizi üzer gibime geliyor.

    Ben bizim ekipte böyle bir sorguyu asla kabul etmem yazana yazılım müdürü engel olur. Böyle bir syntax yok :). O yüzden yapmaya çalıştığını anlayabilirsem düzgün bir sorgu çıkar.

    Söylediğin gibi performans açısından bakarsan 10.000 üzerindeki kayıtlarda problem çıkartmaya başlar..

    Hocam çok basit aslında istediğim şey. 

    Sistemde ekli olan kategorileri listelemek istiyorum ancak şartım şu ki alt tablosunda (urunler) kayıt olan kategoriler gelsin.

     

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    _DevLop_
    _DevLop_'s avatar
    Kayıt Tarihi: 17/Ağustos/2015
    Erkek
    cemnet bunu yazdı
    _DevLop_ bunu yazdı
    cemnet bunu yazdı
    _DevLop_ bunu yazdı

    Amacını tam anlatabilirsen istediğin sorguyu söyleyebiliriz ya da yazabiliriz. Ben anlayamadım tam olarak ne demek istedğini. 

    select * from Kategori where (select count(*) from Urun u where u.KatD = Kategori.ID)>0

     

    hocalar şu şekilde çalıştırabiliyorum ben istediğimi ama performans olarak çok data olunca bizi üzer gibime geliyor.

    Ben bizim ekipte böyle bir sorguyu asla kabul etmem yazana yazılım müdürü engel olur. Böyle bir syntax yok :). O yüzden yapmaya çalıştığını anlayabilirsem düzgün bir sorgu çıkar.

    Söylediğin gibi performans açısından bakarsan 10.000 üzerindeki kayıtlarda problem çıkartmaya başlar..

    Hocam çok basit aslında istediğim şey. 

    Sistemde ekli olan kategorileri listelemek istiyorum ancak şartım şu ki alt tablosunda (urunler) kayıt olan kategoriler gelsin.

     

    select k.* 

    from Kategori k

    inner join Urun u on u.KatD = k.ID

    Bu istediği sonucu vermiyorsa ya ben anlayamadım ya sen anlatamadın ya da yanlış kontrol ediyorsun. Bana anlattığına göre bu senin için en doğru sonucu vermesi gerekiyor.

    :)


    ‘A’ Developer is a good starter and a good finisher as well
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    _DevLop_ bunu yazdı
    cemnet bunu yazdı
    _DevLop_ bunu yazdı
    cemnet bunu yazdı
    _DevLop_ bunu yazdı

    select k.* 

    from Kategori k

    inner join Urun u on u.KatD = k.ID

    Bu istediği sonucu vermiyorsa ya ben anlayamadım ya sen anlatamadın ya da yanlış kontrol ediyorsun. Bana anlattığına göre bu senin için en doğru sonucu vermesi gerekiyor.

    :)

    Kategoriler
    id   adi
    1    Spor
    2    Magazin

    Ürünler
    id   kat_id   adi
    1    1          bla bla
    2    1          xx xxx 
    şu üstte ki kayda göre bana öyle bi select at ki hocam sadece spor kategorisini versin sonuç olarak. Az önce üstte yazdığın inner joinli olan sorgunun sonucunda 2 tane alt alta spor kaydı dönüyor.

Toplam Hit: 1011 Toplam Mesaj: 19
sql