Mysql
 sql >> Database >  >> RDS >> Mysql

Trovare post con tag1 AND tag2? (usando una tabella di join) Esiste / Avere / sottoquery... Cosa usare?

Prova questo:

SELECT * FROM wp_posts AS p
LEFT JOIN wp_term_relationships AS tr ON p.ID = tr.object_id 
LEFT JOIN wp_terms AS t ON tr.term_taxonomy_id = t.term_id 
WHERE p.id IN 
(
    SELECT p2.id FROM wp_posts AS p2
    LEFT JOIN wp_term_relationships AS tr2 ON p2.ID = tr2.object_id 
    LEFT JOIN wp_terms AS t2 ON tr2.term_taxonomy_id = t2.term_id 
    GROUP BY p2.id
    HAVING FIND_IN_SET('blue', GROUP_CONCAT(t2.term)) AND FIND_IN_SET('old', GROUP_CONCAT(t2.term))
)