On Wed, Dec 3, 2008 at 12:21 PM, Mariano Cadeneau <[EMAIL PROTECTED]> wrote: > Hola!, > Mi problema es el siguiente, tal vez es sencillo, pero yo no le > encuentro la vuelta y espero que puedan ayudarme: > Necesito verificar que toda una lista de campos del tipo varchar(6) se > encuentra en otra lista de campos completa, no al menos uno de ellos, ej: > > codigo, codigoMat y reqcurs son: varchar(6), yo hice lo siguiente: > > select d.reqcurs in (select "codigoMat" from alumno2matcurs) > > * Pero si encuentra al menos uno de los campos en reqcurs, me devuelve true > y corta; necesito que si todos los campos almacenados en reqcurs están en > "codigoMat" me devuelva true. > > Ideas??? > > Desde ya muchas gracias. > Porque no usas un having ... ??? quiza con funciones de agregacion da para tu problema ... echale una vuelta a esto:
http://www.postgresql.org/docs/current/interactive/queries-table-expressions.html#QUERIES-GROUP Por ej. SELECT x, sum(y) FROM test1 GROUP BY x HAVING x < 'c'; en tu caso podria ser algo asi como select d.reqcurs group by d.reqcurs having count (d.reqcurs) = (select count(codigoMat) from alumno2 matcurs) ojo no probe ni nada solo se me ocurrio podrias experimentar .. seguro en la documentacion sale algo mas tb. Slds J -- Cumprimentos jchavez linux User #397972 on http://counter.li.org/ -- TIP 6: ¿Has buscado en los archivos de nuestra lista de correo? http://archives.postgresql.org/pgsql-es-ayuda