Dette er et eksempel på en "sæt-i-sæt"-forespørgsel. Jeg anbefaler aggregering med having
klausul, fordi det er den mest fleksible tilgang.
select score
from t
group by score
having sum(id = 2) > 0 and -- has id = 2
sum(id = 4) > 0 -- has id = 4
Hvad dette gør er at aggregere efter score. Derefter den første del af having
klausul (sum(id = 2)
) tæller op, hvor mange "2" der er pr. score. Den anden er at tælle op, hvor mange "4" s. Kun score, der har "2" og "4" returneres.