Om det inte finns några unika begränsningar försök:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(DISTINCT tag_id) = 2;
Eller använd denna HAVING
klausul, om du försöker upptäcka endast två tag_id
värden:
HAVING MIN(tag_id) <> MAX(tag_id)
Om post_id och tag_id båda har en unik restriktion bör detta också fungera:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(*) = 2;