Em 14/07/2017, Kauan Mocelin<kauanmoce...@gmail.com> escreveu: > Boa tarde, estou com um problema no postgresql que não consigo resolver, > tenho a seguinte relação n x n: > > *tb_aditivo* > cod_aditivo > > *tb_aditivo_motivo_aditivo* > cod_aditivo_motivo_aditivo > cod_aditivo > cod_motivo_aditivo > > *tb_motivo_aditivo* > cod_motivo_aditivo > > > Na minha pesquisa informo 3 cod_motivo_aditivo = (2,4,8), preciso retornar > o cod_aditivo referente a EXATAMENTE estes 3 motivos. > > Tentei fazer de várias formas com o IN, mas não da certo pois um aditivo > pode ter os motivos 1,4,8, neste caso como o IN funciona com OR não vai > trazer exatamente os caras que eu preciso. >
Tente: SELECT cod_aditivo FROM tb_aditivo_motivo_aditivo WHERE EXISTS (SELECT * FROM tb_aditivo_motivo_aditivo WHERE cod_motivo_aditivo = 2) AND EXISTS (SELECT * FROM tb_aditivo_motivo_aditivo WHERE cod_motivo_aditivo = 4) AND EXISTS (SELECT * FROM tb_aditivo_motivo_aditivo WHERE cod_motivo_aditivo = 8); Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral