Wie würde ich aus der nachstehenden Tabelle alle animalIds auswählen, die eine bestimmte Kombination von attributeIds haben? Wenn ich z. B. die attributeIds 455 & 685 eingebe, würde ich erwarten, dass ich die animalIds 55 & 93 zurückbekomme
Name der Tabelle: animalAttributes
id attributeId animalId
1 455 55
2 233 55
3 685 55
4 999 89
5 455 89
6 333 93
7 685 93
8 455 93
Ich habe die folgende Abfrage, die zu funktionieren scheint, aber ich bin nicht sicher, ob es eine robustere Weise?
SELECT animalId
FROM animalAttributes
WHERE attributeId IN (455,685)
GROUP BY animalId
HAVING COUNT(DISTINCT attributeId) = 2;