[RESOLU] Instruction JOIN

Eléphant du PHP | 337 Messages

11 août 2012, 15:51

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 !

Eléphant du PHP | 190 Messages

11 août 2012, 17:51

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.

Eléphant du PHP | 337 Messages

11 août 2012, 18:40

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 !