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 gre bu senin için en doğru sonucu vermesi gerekiyor. :) Kategorilerid adi1 Spor2 MagazinÜrünlerid kat_id adi1 1 bla bla2 1 xx xxx şu üstte ki kayda gre 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ı dnüyor.

Tablo yapını bilmiyorum fakat mantıklı bir yapın varsa aşağıdaki sorgu ile sylediğ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 rneğin bi ARABA kategorinin altında kaç tane ürün varsa o kadar geliyor.

_DevLop_ bunu yazdı cemnet bunu yazdı _DevLop_ bunu yazdı Amacını tam anlatabilirsen istediğin sorguyu syleyebiliriz 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 byle bir sorguyu asla kabul etmem yazana yazılım müdürü engel olur. Byle bir syntax yok :). O yüzden yapmaya çalıştığını anlayabilirsem düzgün bir sorgu çıkar. Sylediğ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 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 gre bu senin için en doğru sonucu vermesi gerekiyor. :) 'A' Developer is a good starter and a good finisher as well

Id kolonuna primary key yapıp, diğer kolonları da indexleyip sorgularını hızlandırabilirsin.

cemnet bunu yazdı _DevLop_ bunu yazdı Amacını tam anlatabilirsen istediğin sorguyu syleyebiliriz 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 byle bir sorguyu asla kabul etmem yazana yazılım müdürü engel olur. Byle bir syntax yok :). O yüzden yapmaya çalıştığını anlayabilirsem düzgün bir sorgu çıkar. Sylediğ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 kayıt olan kategoriler gelsin.

arkadaşlar teşekkür ediyorum. data çokluğuna gre iki t-sql'i de test edeceğim. Bu arada 3. bi ihtimal olarakta. Kategori tablosuna bi sutün daha açıp , daha sonra ürünlerde ekleme çıkarma yapınca o satırı güncellemeyi de düşünüyorum. Daha sonra select from kategori where UrunAdet<>0 şeklinde de çalıştırabilirim ilerde. Ancak şimdi değil :)

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!!!

cemnet bunu yazdı _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 gre bu senin için en doğru sonucu vermesi gerekiyor. :) Kategorilerid adi1 Spor2 MagazinÜrünlerid kat_id adi1 1 bla bla2 1 xx xxx şu üstte ki kayda gre 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ı dnüyor. select k. adi from Kategori k inner join Urun u on u. KatD = k. ID group by k. adi Hocam bu sorgu ortalama olarak benim yazdığım sorgunun 2 katı sürede çalışır. Yani "select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1)" bu sorgu 10 milisaniyede çalışırsa senin sorgu 20 milisaniyede çalışır. Alabileceği en performanslı sorgu "select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1)" bu. Titanyumun gücü adına!!!

Tablo yapını bilmiyorum fakat mantıklı bir yapın varsa aşağıdaki sorgu ile sylediğ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

select from Kategori where id in Ürünlerde aktif pasif durumu varsa onuda sorguya ekleyebilirsin hocam select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1) gibi Yazilimci tarafından 05/Nis/17 11:57 tarihinde düzenlenmiştir Titanyumun gücü adına!!!

_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 gre bu senin için en doğru sonucu vermesi gerekiyor. :) Kategorilerid adi1 Spor2 MagazinÜrünlerid kat_id adi1 1 bla bla2 1 xx xxx şu üstte ki kayda gre 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ı dnüyor. select k. adi from Kategori k inner join Urun u on u. KatD = k. ID group by k. adi 'A' Developer is a good starter and a good finisher as well

Amacını tam anlatabilirsen istediğin sorguyu syleyebiliriz ya da yazabiliriz. Ben anlayamadım tam olarak ne demek istedğini. 'A' Developer is a good starter and a good finisher as well

Şunu iyi anlamak lazım. select diyerek joinli ya da joinsiz bir sorguyu getirmekle select kolon1, kolon2, kolon3 diye sorguyu getirmek arasında performans farkı gzle grülür şekilde değişiyor. Bunu milyon kayıtlı datalarla sürekli haşır neşir olduğumdan dolayı sylüyorum. Gereksiz kolonları koymaktansa çok ihtiyaç yok ise select kolon adı şeklinde yazılması daha doğru olur.. Bu birincisiydi. İkinci olarak ise; kayıtları 2 defa çağırıyorsunuz, benim yazdığım mantıkta ise bir defa çağırıyor ve grupluyoruz. Sylediğim gibi biraz nce bu kayıtlarda test yaparak gzlemlediğim sonuçları aktarmaya çalıştım. İkna olmak isteyen var ise datalara çektiğim sorguların ss larını pm atabilirim :) 'A' Developer is a good starter and a good finisher as well

Amacını tam anlatabilirsen istediğin sorguyu syleyebiliriz 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.

_DevLop_ bunu yazdı Amacını tam anlatabilirsen istediğin sorguyu syleyebiliriz 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 byle bir sorguyu asla kabul etmem yazana yazılım müdürü engel olur. Byle bir syntax yok :). O yüzden yapmaya çalıştığını anlayabilirsem düzgün bir sorgu çıkar. Sylediğ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

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ı yntem sizce hangisi?

farklı iki tablo zaten. Kategorileridadi Ürünleridkat_idadi select from Kategoriler olarak istiyorum ama altında ürün olanlar gelsin sadece

_DevLop_ bunu yazdı cemnet bunu yazdı _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 gre bu senin için en doğru sonucu vermesi gerekiyor. :) Kategorilerid adi1 Spor2 MagazinÜrünlerid kat_id adi1 1 bla bla2 1 xx xxx şu üstte ki kayda gre 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ı dnüyor. select k. adi from Kategori k inner join Urun u on u. KatD = k. ID group by k. adi Hocam bu sorgu ortalama olarak benim yazdığım sorgunun 2 katı sürede çalışır. Yani "select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1)" bu sorgu 10 milisaniyede çalışırsa senin sorgu 20 milisaniyede çalışır. Alabileceği en performanslı sorgu "select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1)" bu. 407 BİN 412 kayıtta test ettim. Senin syledğin sorguda 11.2 saniye. Benim yazdığım sorguda 5 saniyede geldi :) Bence sende bir test et.. Çünkü where ifadesine bir kısıtlama getiriyorsun. Bu kısıtlamada bir set daha dndürmeye çalışıyor. ve dndürdüğü sete filtre uyguluyor. En azından benim yorumum ve gzlemlediğim bu.. 'A' Developer is a good starter and a good finisher as well

Yazilimci bunu yazdı _DevLop_ bunu yazdı cemnet bunu yazdı _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 gre bu senin için en doğru sonucu vermesi gerekiyor. :) Kategorilerid adi1 Spor2 MagazinÜrünlerid kat_id adi1 1 bla bla2 1 xx xxx şu üstte ki kayda gre 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ı dnüyor. select k. adi from Kategori k inner join Urun u on u. KatD = k. ID group by k. adi Hocam bu sorgu ortalama olarak benim yazdığım sorgunun 2 katı sürede çalışır. Yani "select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1)" bu sorgu 10 milisaniyede çalışırsa senin sorgu 20 milisaniyede çalışır. Alabileceği en performanslı sorgu "select from Kategori where id in (select distinct kat_id from Urunler where AktifMi=1)" bu. 407 BİN 412 kayıtta test ettim. Senin syledğin sorguda 11.2 saniye. Benim yazdığım sorguda 5 saniyede geldi :) Bence sende bir test et.. Çünkü where ifadesine bir kısıtlama getiriyorsun. Bu kısıtlamada bir set daha dndürmeye çalışıyor. ve dndürdüğü sete filtre uyguluyor. En azından benim yorumum ve gzlemlediğim bu.. Test edebileceğim bir data yok hocam :) Çektiğin tablonun veri yapılanmasını bilmiyorum hocam bu sebeple o data üzerine yorum yapamıyorum. Benim sorguda da sadece kategori adını select etmeyi denedin mi hocam yoksa la mı select ettin. Hoş ben hala inat ediyorum o sorgu joinden daha hızlı çalışır :) Titanyumun gücü adına!!!