{MySQL} Requette imbriqué

Résolu/Fermé
NwK Messages postés 78 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 février 2010 - 9 févr. 2010 à 16:13
NwK Messages postés 78 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 février 2010 - 11 févr. 2010 à 10:31
Bonjour,

Je fais appel a vous pour réussir a écrire ma requette car la je bloc un peu.
Je développe un petit blog sous wordpress et j'aurai voulu affiché des articles apartenant a 2 catégories en meme temps.

En clair je voudrai afficher les articles qui appartiennent a la catégorie 12 et 14 à la fois. Je ne veux pas ce qui appartienne uniquement à la 12 ou à la 14.

Voici la structure de ma table que fourni wordpress.

object_id, term_taxonomy_id term_order ce sont mes champs

object_id = mes articles ;
term_taxonomy_id = catégorie de mes articles

et voici la requette que j'ai pondue

SELECT *
FROM  wp_term_relationships t
WHERE `term_taxonomy_id` =12
AND object_id IN (SELECT object_id
FROM wp_term_relationships
WHERE `term_taxonomy_id` =14) 


elle me retourne 12 résultats au lieu de un seul.

Merci d'avance pour votre aide.


NwK

4 réponses

gumbi machine Messages postés 57 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 4 avril 2016 5
9 févr. 2010 à 16:50
Quelque chose du genre devrait te donner le résultat que tu escompte

SELECT [wp_term_relationships t].object_id, [wp_term_relationships t].term_taxonomy_id
FROM [wp_term_relationships t]
WHERE ((([wp_term_relationships t].term_taxonomy_id)="12" Or ([wp_term_relationships t].term_taxonomy_id)="14"));

1
gumbi machine Messages postés 57 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 4 avril 2016 5
9 févr. 2010 à 18:15
--
Il fut un temps...
1
NwK Messages postés 78 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 février 2010 3
9 févr. 2010 à 17:20
Bonjour,

Tout dabord merci pour ta réponse gumbi machine

Cette requette me retourne les articles qui sont dans 12 ou dans 14. Moi j'aimerai avoir ceux qui sont dans 12 ET 14 sachant que pour chaque aprtenance a un groupe il y 'a une nouvelle ligne d'inséré.

Une solution lourde serai d'utiliser une vue puis de faire un count dessus puis de retourner uniquement les résultat qui y sont deux fois mais c'est assez sachant qu'une seule requette peut le faire.
0
NwK Messages postés 78 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 février 2010 3
11 févr. 2010 à 10:31
Bonjour,

Merci pour ta dernière requette. Elle fonctionne. Je vais la tester en prod et je ne tiens informé.

En tout cas merci :)
0