Em 16 de agosto de 2011 14:35, Marcelo Silva (IG) <[email protected]>escreveu:

>   Pessoal, sugiu uma necessidade aqui [image: Alegre]
>
> Será que é possivel fazer algo assim
>
> SELECT * FROM TABELA
> WHERE (A(‘01’,’05’,’03’) IN B(‘01’,’02’,’03’))
>
> Preciso fazer uma cruzamento e verificar quais strings na Array A existem
> na B,
> no caso do exemplo acima ele deveria trazer o ‘01’ e ‘03’
>
> Isso é possível atravez de do Select ou tenho que desenhar uma funcao pra
> isso?
>
>


Creio que o resultado de um IN é um boolean (verdadeiro ou falso).
No seu caso, me parece, você deseja utilizar os valores '01' e '03' em seu
SELECT.
Uma possível solução é utilizar a função unnest(anyarray)[1] em seus arrays
e fazer um INNER JOIN do resultado. No fundo a intersecção dos arrays.

Osvaldo
[1] http://www.postgresql.org/docs/current/interactive/functions-array.html

<<wlEmoticon-smile[1].png>>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a