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

Wählen Sie einen Beitrag aus, der kein bestimmtes Tag hat

Sie können sich das wie folgt vorstellen:„Alle Zeilen in Posts finden, die keine Übereinstimmung in Tags haben (für ein bestimmtes Tag)“

Dies ist der Lehrbuchanwendungsfall für einen LEFT JOIN.

LEFT JOIN tag_post ON post.id = tag_post.postid AND tag_post.tagid = {required_tagid}
WHERE tag_post.tag_id IS NULL

Beachten Sie, dass Sie die Tag-ID in der ON-Klausel des Joins haben müssen.

Eine Referenz zu Join-Typen finden Sie hier:http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html