Page 1 sur 1

Instruction JOIN

Posté : 11 août 2012, 15:51
par finipe
Bonjour à tous,

Je ne m'en sors pas avec une requête, et j'en appelle à votre bonté d'âme !

J'ai une table CATEGORIES, contenant un champ id et un champ pere, qui indique si cette catégorie a des sous-catégories ou non. Si pere==0, c'est une "surcatégorie", si pere!=0 alors c'est une sous-catégorie et le champ pere indique l'id de la surcatégorie correspondante.

J'ai ensuite une table ARTICLES, contenant un champ id et un champ cat.

Je souhaite faire la requête conditionnelle suivante :
_________________

Si la catégorie sélectionnée est une catégorie père ET qu'elle a des enfants, alors (cette condition, je l'ai bien écrite, pas de problème)
{
requête de sélection de tous les articles dont la catégorie a pour catégorie père la catégorie sélectionnée (c'est ça qui coince !)
}

Sinon
{
requête de sélection de tous les articles dont la catégorie correspond à la catégorie sélectionnée (ça, pas de problème)
}
_________________


Voilà, j'espère avoir été clair. Je sens bien que c'est une histoire de JOIN, mais je ne suis décidément pas habitué à ces requêtes...
Merci pour votre aide !

Re: Instruction JOIN

Posté : 11 août 2012, 17:51
par Zahnzao
Salut,

Sans ta requête ça va pas être facile.

File nous ce que tu as déjà fait.

Edit: avec ce que tu as donné j'ai pu construire une requête.
SELECT a.id,a.cat FROM articles AS a
INNER JOIN categories AS c ON c.id=a.cat
WHERE c.pere = selectcat
selectcat étant à remplacer par ta catégorie sélectionnée.

A tester.

Re: Instruction JOIN

Posté : 11 août 2012, 18:40
par finipe
Même pas la peine d'en faire plus, ça fonctionne du feu de dieu. Super classe !
Je vais étudier cette requête de près pour m'en resservir. Merci beaucoup !