codeksper adlı üyeden alıntı: mesajı görüntüle
Hocam teşekkürler, içiçe sorguları pek kullanmıyorum dolayısıyla bi bakışta mantığı anlamadım, ben de store_product_extend_cat adlı bi kesişim tablosuyla aşağıdaki şekilde sonuca ulaştım (sanırım) bikaç saniye önce ama filtreye elkencek kategori_id'si adedince inner join eklemem gerekiyor sanırım filtreleme sayısına kısıtlama getirmem gerekçek.

SELECT c1.* FROM store_product_extend_cat as c1
INNER JOIN store_product_extend_cat AS c2
ON c1.product_id=c2.product_id
INNER JOIN store_product_extend_cat AS c3
ON c1.product_id=c3.product_id
WHERE (c1.cat_id=75 AND c2.cat_id=76) OR (c3.cat_id=73 )
GROUP BY c1.product_id

Sizinkini de inceleyip araştırıyorum hocam performans için neler diyolar bakalım. Daha iyi bi çözüm önerisi gelmezse ikisi arasında bi seçim yapçam ilginiz için çok çok teşekkürler. R10+

Muhtemelen performans açısından sizin sorgunuz daha başarılı. Borçlandım hocam sana gün gelir ben de yardım edebilirim umarım. İyi çalışmalar.
Yukarıda ki sorguya dikkat etmemiştim o kadar uzatmanıza gerek yok hocam konu içerisinde ki arkadaşların izlediği yöntem doğru ancak yol uzun.

Product tablosuna bir alan daha açın category_id olsun kategori eşleştirme için ;
Ürün Tablosu : 
id | category_id (varchar) | name
1  | 2,1		 | Ürün Adı
2  | 1,11		 | Genel Kategorisine Eklenen Ürün Adı.
// Tekrar düzenlendi.
// Örnek Sorgu ;
SELECT * FROM products WHERE 
FIND_IN_SET( 1 , category_id )
OR FIND_IN_SET( 2 , category_id )
ALTERNATİF ve ESNEK YÖNTEM

İlişkilendirme için relationships adında bir tablo açarsınız örnek yapısını iletiyorum

relationships ; 
object_id ( hangi ürün ilişkilendiriliyor ) | action_id ( ilişkilendirilen kategori id ) | type ( tür esnek kullanım için eklenebilir )
1											| 1									| category
2											| 2									| category
Örnek Sorgu ;
SELECT * FROM products WHERE id IN ( SELECT object_id FROM relationships WHERE action_id IN( 1 , 2 , 3, 4 )  AND type = 'category' )
//
// Alternatif
SELECT
	products.*
FROM
	products 
LEFT JOIN 
	relationships
ON
	relationships.object_id= products.id
WHERE
	relationships.action_id IN ( 1, 2 )
		AND
	relationships.type = 'category'
// Alternatif
SELECT * FROM products WHERE id IN 
( 
	SELECT 
		object_id 
	FROM 
		relationships 
	WHERE 
		action_id IN(1,2) 
		veya 
		action_id = 2
)
Bir kaç açıklama ekleyeyim ;

relationships tablosunda ki type alanını neden ekledim ?
Varsayalım bir galeri modülünüz var ve bunda da kategorilerinizi eşleştirmek ve kullanmak istiyorsunuz.
type alanı olduğu için tür belirterek galeri kategori eşleştirmesini tamamlayabilirsiniz eğer type alanı olmasaydı object_id'ye eklenen ürün id ile galeri'nin id'sinin çakışma olasılığı mevcuttu " AND type = 'gallery' " veya " AND type = 'category' " diyerek bundan kaçınabiliyoruz ve böylelikle sizde birden fazla tablo açmamış oluyorsunuz tek tablo üzerinden tüm eşleşmelerinizi yapabiliyorsunuz.

Performans olayına gelirsek :
IN içerisinde (SUBQUERY) select attığım için 2 sorgu sormakta
Gözle görülür bir fark yaşamazsınız ancak join subquery'den daha hızlı çalışır.

Tavsiyem ise ilk söylediğim yöntemi kullanmanız ( FIND_IN_SET ).