select categorii.*, if(categorii.banner is null or categorii.banner='','hidden','') classbanner, IF( level_categorie > 2,SUBSTRING(categorii.categorie,LOCATE('-',categorii.categorie)+1),categorii.categorie) director, case when categorii.level_categorie=3 then ifnull((select count(*) from oferte where stoc_value>0 and categorie=categorii.categorie_id),0) when categorii.level_categorie<3 then 1 end custoc, -- if (categorii.level_categorie=3,categorii.categorie_seo_path,concat('directory.php?id=',categorii.categorie_id)) categorii.categorie_seo_path link, if(ifnull((select count(*) from oferte where stoc_value>0 and categorie=categorii.categorie_id),0)=0 and categorii.level_categorie=3,'','hidden') stocindisp, if (categorii.blocat=1 and categorii.level_categorie=3 ,'','hidden') categblocat from categorii -- left join (select categorie,count(*) as cnt from oferte where inactiv=0 group by categorie having count(*)>0) of on categorii.categorie_id=of.categorie -- left join (select categorie,count(*) as cnt from oferte where oferte.stoc_value>0 group by categorie) nrstoc on categorii.categorie_id=nrstoc.categorie where pid= and categorii.nrpoduse>0 order by ordine,categorie