Hvis der ikke er nogle unikke begrænsninger, prøv:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(DISTINCT tag_id) = 2;
Eller brug denne HAVING
klausul, hvis du prøver kun at finde to tag_id
værdier:
HAVING MIN(tag_id) <> MAX(tag_id)
Hvis post_id og tag_id begge har en unik begrænsning, burde dette også fungere:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(*) = 2;