Wenn es keine Eindeutigkeitsbeschränkungen gibt, versuchen Sie Folgendes:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(DISTINCT tag_id) = 2;
Oder verwenden Sie dieses HAVING
-Klausel, wenn versucht wird, nur zwei tag_id
zu erkennen Werte:
HAVING MIN(tag_id) <> MAX(tag_id)
Wenn post_id und tag_id beide eine eindeutige Einschränkung haben, sollte dies auch funktionieren:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(*) = 2;