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

Reply via email to