2010/2/9 Carlos Bazán <info...@vtr.net>: >> >> Yo creo que necesitas ANY en vez de ALL. > > Ok, igual sirve. Para verificar que esten todos entonces voy a modificar el > query para que me retorne la cantidad de registros que figuran en el arreglo, > para despues comparar el valor con el valor correspondiente al tamaño del > arreglo. >
no entendi ese cambio que vas a hacer pero me parece que tu consulta esta mal planteada... segun entendi aqui: http://archives.postgresql.org/pgsql-es-ayuda/2010-02/msg00160.php lo que quieres lograr es saber si todos los datos del arreglo estan en la tabla... pero una consulta que retorne datos de la tabla no te va a mostrar los que "no" estan en la tabla, por ejemplo: """ select * from mi_tabla where numero = all ('{100, 200, 300, 400}') """ te puede decir que "si" hay en la tabla de ese arreglo, pero no te puede decir que "no" hay... mas bien se me ocurre que lo que necesitas hacer es tratar ese arreglo como si fuera una tabla... en la version 8.4 existe la funcion unnest() que serviria para eso, en 8.3 solo se me ocurre meter todo en una tabla y luego sacar datos de esa nueva tabla where not exists (select 1 from tabla_original where numero = tabla_arreglo.numero) -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net