Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione a postagem de duas tags (AND)


Para verificar se um título tem AMBOS 'categoria1' e 'categoria2', você pode usar a seguinte consulta 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';

Para verificar outras categorias, basta repetir a cláusula 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';

Isso retornaria resultados para títulos que têm todas as 3 categorias.