Em 14/07/2017, Kauan Mocelin<[email protected]> 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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral