Pokud neexistují žádná jedinečná omezení, zkuste:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(DISTINCT tag_id) = 2;
Nebo použijte tento HAVING
klauzule, pokud se pokoušíte detekovat pouze dva tag_id
hodnoty:
HAVING MIN(tag_id) <> MAX(tag_id)
Pokud mají oba post_id a tag_id jedinečné omezení, mělo by to fungovat také:
SELECT post_id
FROM tags
WHERE tag_id = 1 OR tag_id = 3
GROUP BY post_id
HAVING count(*) = 2;