To jest przykład zapytania „zestawy w zestawach”. Polecam agregację z having
klauzula, ponieważ jest to najbardziej elastyczne podejście.
select score
from t
group by score
having sum(id = 2) > 0 and -- has id = 2
sum(id = 4) > 0 -- has id = 4
To, co to robi, to agregowanie według wyników. Następnie pierwsza część having
klauzula (sum(id = 2)
) zlicza liczbę „2” na wynik. Drugi to zliczanie liczby „4”. Zwracane są tylko wyniki, które mają „2” i „4”.