SELECT p.id, p.nom_fr, p.prix, p.promotion FROM gaia_produits p, gaia_produits_categories pc, gaia_categories c WHERE p.id = pc.produit_id AND pc.categorie_id = '101' and c.id = pc.categorie_id AND p.etat = '1' group by p.id order by IF((select sum(stock) from gaia_stocks where produit_id = p.id)>0,1,0 ) desc, c.position asc, p.on_new desc, p.promotion desc, p.on_exclu desc, p.position asc, p.nom_fr asc