MySQL - Que datos de una tabla NO estan en otra

 
Vista:

Que datos de una tabla NO estan en otra

Publicado por JC (2 intervenciones) el 25/09/2008 15:32:23
Hola a todos

Ante todo deciros que estoy empezando con esto de las bases de datos y no tengo mucha experiencia, por eso estoy seguro de que lo que quiero hacer es mas fácil de lo que imagino; vamos a ver si explico mi duda

Tengo dos tablas, la primera con los datos de los usuarios: nick, nombre, etc; y una segunda tabla en la que se van guardando una linea por cada usuario anterior que participa en un concurso: participante (que seria el nick de la tabla anterior) y el resto de datos para el concurso.

Lo que quiero hacer es que el programa me liste los usuarios que aun NO han participado, pero no lo he conseguido, bueno, si, pero de una forma que me parece un poco ineficiente.

Lo que hago es un sencillo select de la primera tabla para obtener todos los usuarios registrados, y después, voy haciendo en la segunda tabla otra consulta por cada uno de los usuarios registrados, y funciona, pero claro, si son 10, son 10 select a la segunda tabla, pero ¿y si son 1000?

Bueno, espero que me podáis echar una manita.

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Que datos de una tabla NO estan en otra

Publicado por laura (15 intervenciones) el 25/09/2008 16:40:12
Hola JC, yo lo hago así

"SELECT * FROM Usuarios Where IdUsuario Not IN (Select IdUsuario From Concurso)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que datos de una tabla NO estan en otra

Publicado por JC (2 intervenciones) el 26/09/2008 15:06:06
Gracias, es lo que buscaba

Estaba siguiendo un manual que encontré en internet, pero no dice nada de ese tipo de consultas, voy a tener que buscarme uno mas completo y ponerme las pilas :)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

asi funciona, tarde pero alguien le puede servir

Publicado por SAHITEC (3 intervenciones) el 26/03/2009 19:32:16
Pg_Wsql = "Select Bodega_Productos_Caracteristicas.Pro_Codigo, Bodega_Productos_Caracteristicas.Pro_Descripcion1, " & _
" From Bodega_Productos_Caracteristicas Left Join bodega_productos_impuestos On " & _
"(Bodega_Productos_Caracteristicas.Pro_Codigo=bodega_productos_impuestos.Pro_Codigo) " & _
" Where bodega_productos_impuestos.Pro_Codigo Is Null Order by Pro_Codigo"

Explicación: Despues del Select va la Tabla y campo, en el From hago la unión de mi tabla utilizando el LEFT JOIN para que muestre los datos aunque no se encuentre en la otra tabla y en el Where indico mi tabla principal que contiene los datos en mi caso los Productos y utilizo la sentencia Is Null y finalmente pido que lo ordene por Código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar