Aby sprawdzić, czy tytuł zawiera ZARÓWNO „kategoria1”, jak i „kategoria2”, możesz użyć następującego zapytania 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';
Aby sprawdzić inne kategorie, po prostu powtórz klauzulę 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';
Spowoduje to zwrócenie wyników dla tytułów, które mają wszystkie 3 kategorie.