SORUNU ÇÖZDÜM.
İÇ İÇE SQL İLE ÇÖZDÜM AMA KOŞUL KULLANARAK 
2 Adet tablom var.
1. Tablo
urunler
2. Tablo
kategoriler
Kategoriler.php sayfasında kategoriye bağlı ürünleri çekerken gelen
sef_link ve
id parametresiyle veri çekiyorum.
Ürünlerin kategorileri, kategoriler tablosunda depolanıyor.
SELECT * FROM kategoriler WHERE id=$kat_id
<= Kategori içinSELECT * FROM urunler WHERE kat_id=$kat_id
<= Ürün için
Ürünler son kategoriye göre ekleniyor, örneğin;
2x50cm HALI <= isimli bir ürün
[ Ev, dekorasyon => Halı, Paspas => Halılar ] isimli kategoriyle kayıt ediliyor.
Halılar kategorisine girince, ona bağlı ürünler listeleniyor ama
Ev, dekorasyon kategorisine girince listelenmiyor.
Bu veritabanını tasarlayan arkadaş, enteresan bir yol izlemiş.
Yani basit hesap ürünler son kategoriye göre listeleniyor, ilk kategorinin altında ki tüm kategorilerden ürün listeletmem gerekli.
NOT: iç içe bir sorgu yazdım ama bazı kategoriler 4. alt kategori fln oluyor hadi max 2. alt kategori olsa, biraz çözüme yaklaşacak gibi oluyorum, sonra olmuyor.

Beynim durdu.
Son yaptığım deneme;
$sorgu = "SELECT * FROM `kategoriler` WHERE bagli_kategori_id IN (SELECT * FROM kategoriler WHERE bagli_kategori_id=[COLOR=#D9DAE9][FONT=Open Sans]$kat_id[/FONT][/COLOR] )";