Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Posts mit Tag1 UND Tag2 finden? (unter Verwendung einer Join-Tabelle) Existiert / Haben / Unterabfragen ... Was soll verwendet werden?

Versuchen Sie Folgendes:

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))
)