alperen060 adlı üyeden alıntı: mesajı görüntüle
Merhabalar Arkadaşlar

2 Gündür bu sorguda kafayı yiyeceğim, konuya hakim arkadaşlar yardımcı olabilirmi

E ticaret sitesi için sizgeç sistemi yaptım,
Süzgeç tablom aşağıdaki şekilde


benim amacım 15 ve 7 nolu filteyi işaretlendiğinde 15 ve 7 nolu ürünlerin gelmesini istiyorum,

Şu anda ne aşamadayım

 SELECT urunler.*
FROM urunler LEFT JOIN suzgec_index 
ON urunler.urun_no=suzgec_index.urun_no
AND suzgec_index.filtre_no=15 AND suzgec_index.filtre_no=15
15 nolu filteyi seçen ürünler geliyor sorun yok,
 SELECT urunler.*
FROM urunler LEFT JOIN suzgec_index 
ON urunler.urun_no=suzgec_index.urun_no
AND suzgec_index.filtre_no=15 AND suzgec_index.filtre_no IN(15,7)
denedim 15 veya 7 yi seçeneler geldi OR gibi.
 SELECT urunler.*
FROM urunler LEFT JOIN suzgec_index 
ON urunler.urun_no=suzgec_index.urun_no
AND suzgec_index.filtre_no=15 AND suzgec_index.filtre_no=15 AND suzgec_index.filtre_no=7 AND
denedim boş geldi, yine olmadı

bu şöyleki cep telefonu kategorisinde girdiğinde yan süzgeçten işletim sistemini seçtiğinde geliyor, ama işletim sistemi ve 1-2 tane de hafıza boyutu vb diğer süzgeçleri seçtiğinde çalışmıyor.

Nerde hata yaptığımı iletip örnek sql kodunu iletebilirseniz memnun olurum.
yardımlarınızı bekler herke iyi hafta sonları dilerim.
bu sorgu için LEFT JOIN değil INNER JOIN kullanın

SELECT urunler.*
FROM urunler INNER JOIN suzgec_index
ON urunler.urun_no=suzgec_index.urun_no
AND suzgec_index.filtre_no IN(15,7)

veya

SELECT urunler.*
FROM urunler INNER JOIN suzgec_index
ON urunler.urun_no=suzgec_index.urun_no
AND (suzgec_index.filtre_no=15 || suzgec_index.filtre_no=7)

veya

http://dev.mysql.com/doc/refman/5.1/...ubqueries.html