Het idee van de query is dat je het aantal records moet matchen met het aantal waarden dat je hebt opgegeven in de WHERE
clausule.
SELECT ID
FROM tableName
WHERE tag IN (4, 8)
GROUP BY ID
HAVING COUNT(*) = 2
als er geen unieke beperking op de tag is opgegeven voor elke ID, dan DISTINCT
is nodig
SELECT ID
FROM tableName
WHERE tag IN (4, 8)
GROUP BY ID
HAVING COUNT(DISTINCT tag) = 2