Voici comment les choses fonctionnent
J'utilise les tableaux de catégories Wordpress et j'ai 2 catégories principales. Le premier s'appelle "location
" et l'autre "subject
". Les deux catégories ont leurs propres sous-catégories.Wordpress avancé SQL - jointures et comptes
Dans mon exemple, nous avons « location
» catégorie 17 et « subject
» catégorie 3.
ce que je veux faire
Je veux sélectionner uniquement les données où mes deux catégories 17 ET 3 sont présentés.
Ce code fonctionne jusqu'à présent
SELECT term_id, post_title, post_name, ID, object_id, post_status
FROM wp_posts AS wpost
INNER JOIN wp_term_relationships
ON wpost.ID = wp_term_relationships.object_id
INNER JOIN wp_term_taxonomy
ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND wp_term_taxonomy.taxonomy = 'category'
WHERE wp_term_taxonomy.term_id IN (17, 3)
AND post_status = 'publish'
Le problème
Les deux catégories 17 et 3 existe dans la même colonne. Le code ci-dessus liste les ID deux fois si les posts apparaissent dans les deux catégories.
Y at-il un moyen de compter les ID qui sont égaux dans le résultat? Si ID existe deux fois, sélectionnez le message de cet ID.
Il ne fonctionne pas. Si je supprime la ligne avec INNER JOIN au moins ne me donne pas d'erreurs, mais il me montre des rangées dans 17 ou 3. J'ai besoin dans les deux 17 et 3. –
Il fonctionne comme un charme maintenant après avoir édité le poste . Merci, sauvé ma journée! –