Descubra qual ID de grupo contém todos os atributos relevantes no SQL
Então, digamos que neste caso, o grupo que temos é um grupo de animais.
Digamos que tenho as seguintes tabelas:
animal_id | attribute_id | animal
----------------------------------
1 | 1 | dog
1 | 4 | dog
2 | 1 | cat
2 | 3 | cat
3 | 2 | fish
3 | 5 | fish
id | attribute
------------------
1 | four legs
2 | no legs
3 | feline
4 | canine
5 | aquatic
Onde a primeira tabela contém os atributos que definem um animal e a segunda tabela controla o que é cada atributo. Agora, digamos que executamos uma consulta em alguns dados e obtemos a seguinte tabela de resultados:
attribute_id
------------
1
4
Esses dados descreveriam um cão, já que é o único animal_id que possui os atributos 1 e 4. Quero poder obter de alguma forma o animal_id (que nesse caso seria 1) com base na terceira tabela, que é essencialmente uma tabela que já foi gerada e contém os atributos de um animal.
EDITAR
Portanto, a terceira tabela que tem 1 e 4 não precisa ser 1 e 4. Pode retornar 2 e 5 (para peixes) ou 1 e 3 (gato). Podemos assumir que seu resultado sempre corresponderá completamente a um animal, mas não sabemos qual deles.