Jaime Casanova escribió:
> 2013/5/17 Rusel Fichi <rdfs....@gmail.com>:
> >
> > Es decir algo asi:
> >
> > Select*from usuarios where login in ('jperez','pmartinez');
> >
> > Entonces jperez es un usuario registrado por lo cual no me importa, pero
> > pmartinez  no tiene usuario y obviamente no se va a encontrar en la tabla lo
> > que quiero es justamente eso que de alguna forma la consulta me arroje los
> > valores que no fueron encontrados en la tabla... y asi sabria cuales son los
> > usuarios exactos que tengo que crear ...
> 
> pg version: 8.4+
> 
> WITH lista_usuarios (login) AS (VALUES ('jperez'), ('pmartinez'))
> SELECT * FROM lista_usuarios
> WHERE login NOT IN (select login from usuarios)

O también un outer join donde el campo de la tabla es null:

SELECT *
  FROM usuarios RIGHT JOIN
       (VALUES ('jperez'), ('pmartinez')) f (login)
      USING (login)
 WHERE usuarios.login IS NULL;

También se puede hacer con el WITH:

  WITH lista_usuarios (login) AS (VALUES ('jperez'), ('pmartinez'))
SELECT *
  FROM lista_usuarios LEFT JOIN
       usuarios
      USING (login)
 WHERE usuarios.login IS NULL;

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a