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

Seleziona il post da due tag (AND)

Per verificare se un titolo ha ENTRAMBI 'categoria1' e 'categoria2', puoi utilizzare la seguente query SQL:

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';

Per verificare la presenza di altre categorie basta ripetere la clausola WHERE:

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';

Ciò restituirebbe risultati per i titoli che hanno tutte e 3 le categorie.