bonjour, je vous écris pour une requete mysql que je n'arrive pas à écrire :

1/ J'ai une table categories avec les champs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
idcat
idparent
nomcat
2/ j'ai une table produits avec les champs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
idproduit
idcat
nomproduit
Dans ma table categories j'ai une hierarchie 3 niveaux :
categorie1 : idcat = 1, idparent = 0, nomcat = 'categorie'
souscat1 : idcat = 2, idparent = 1, nomcat = 'souscat'
soussouscat1 : idcat = 3, idparent = 2, nomcat= 'soussouscat1'

J'aimerai lister mes catégories avec le nombre de produits qu'elle contiennent : J'ai donc fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT idcat,idparent,nomcat,(
SELECT count(*) FROM produits WHERE (idcat IN 
(SELECT idcat FROM categories WHERE idparent=cat.idcat) OR (idcat = cat.idcat)
) AS nbreproduit FROM categories AS cat
Le souci est que je comptabilise les produits classés dans niveau 1 et 2 mais comment faire pour le niveau 3 ??
Est-il possible en une requete de pouvoir comptabiliser pour x niveaux ?

Merci de votre aide