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

Beitrag aus zwei Tags auswählen (UND)

Um zu überprüfen, ob ein Titel SOWOHL „Kategorie1“ als auch „Kategorie2“ hat, können Sie die folgende SQL-Abfrage verwenden:

SELECT title 
FROM post 
JOIN tag ON post.post_id = tag.post_id 
WHERE tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category1')
AND tag.tag = 'category2';

Um nach anderen Kategorien zu suchen, wiederholen Sie einfach die WHERE-Klausel:

SELECT title 
FROM post 
JOIN tag ON post.post_id = tag.post_id 
WHERE tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category1')
AND tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category2')
AND tag.tag = 'category3';

Dies würde Ergebnisse für Titel zurückgeben, die alle 3 Kategorien haben.