Muchas gracias ambas respuestas son excelentes... ya con esto se me ha
simplificado el trabajon que tenia ...

Saludos compañeros!


El 17 de mayo de 2013 17:35, Alvaro Herrera <[email protected]>escribió:

> Jaime Casanova escribió:
> > 2013/5/17 Rusel Fichi <[email protected]>:
> > >
> > > 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
>

Responder a