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 >
