Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta Facil ??? MySQL

Estas en el tema de Consulta Facil ??? MySQL en el foro de Mysql en Foros del Web. Un saludo para tod@s tengo una peqeña duda y es q he estado intentando generar una consulta q un principio pense era muy facil pero ...
  #1 (permalink)  
Antiguo 03/02/2009, 14:06
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Consulta Facil ??? MySQL

Un saludo para tod@s tengo una peqeña duda y es q he estado intentando generar una consulta q un principio pense era muy facil pero realmente no se q pasa, resulta q tengo 2 tablas "momento" y "clientes", las dos tienen un campo en comun en clientes es el campo nit (cual es la llave primaria) y en momento es el campo idcliente (que es el q debe indexar esta tabla con la tabla cliente), bueno resulta que necesito sacar solo los valores del nit de la tabla clientes que esten solo en esta tabla y no esten en la tabla idcliente, si me explico

si en la tabla clientes tengo en el campo nit: 1,2,3,4,5.

y en la tabla memento tengo en el campo idcliente: 2 y 4

el resultado de la consulta deberia ser 1,3 y 5

yo lo intento con la sgt consulta:

SELECT DISTINCT clientes.nit, clientes.nombre
FROM momento, clientes
WHERE momento.idcliente <> clientes.nit

pero me arroja todos los valores de la tabla clientes: 1,2,3,4,5 y si le quito el distinct pero por que se repiten!,

alguien me podria ayudar? espero que si! y muchas gracias
  #2 (permalink)  
Antiguo 03/02/2009, 17:15
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Consulta Facil ??? MySQL

eso se hace con un left join o con un right join pruebve con ambos con uno de los dos es.
  #3 (permalink)  
Antiguo 04/02/2009, 05:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta Facil ??? MySQL

Dos opciones:
1) SELECT clientes.nit FROM clientes WHERE clientes.nit NOT IN (SELECT momento.idcliente FROM momento)

2) SELECT clientes.nit FROM clientes left join momento on clientes.nit = momento.idcliente WHERE momento.idcliente IS NULL

no lo he probado, pero creo que funcionarán. Haz alguna prueba. Si tu versión de MySQL es antigua y no te funciona la primera opción, usa la segunda.
  #4 (permalink)  
Antiguo 04/02/2009, 10:29
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Consulta Facil ??? MySQL

Cita:
Iniciado por jurena Ver Mensaje
Dos opciones:
1) SELECT clientes.nit FROM clientes WHERE clientes.nit NOT IN (SELECT momento.idcliente FROM momento)

2) SELECT clientes.nit FROM clientes left join momento on clientes.nit = momento.idcliente WHERE momento.idcliente IS NULL

no lo he probado, pero creo que funcionarán. Haz alguna prueba. Si tu versión de MySQL es antigua y no te funciona la primera opción, usa la segunda.

Muchisimas Gracias Jurena las dos opciones funcionan perfectamente,

Exitos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:54.