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

Problema en una consulta de mysql

Estas en el tema de Problema en una consulta de mysql en el foro de Bases de Datos General en Foros del Web. Bien, tengo 2 tablas, una de clientes y otra de visitas que se le realizan a los clientes. Bien, lo que quiero es sabes cuales ...
  #1 (permalink)  
Antiguo 29/04/2005, 10:43
 
Fecha de Ingreso: abril-2005
Mensajes: 82
Antigüedad: 19 años, 7 meses
Puntos: 2
Problema en una consulta de mysql

Bien, tengo 2 tablas, una de clientes y otra de visitas que se le realizan a los clientes. Bien, lo que quiero es sabes cuales de esos clientes no han recibido ninguna visita. Yo he probado asi pero no me funciona:

SELECT DISTINCT c . * , v.fecha
FROM clientes c, visitas v
WHERE ((c.id = v.cliente)AND
(v.comercial =3)AND
(NOT exist(SELECT *
FROM visitas
WHERE cliente = c.id)
))

Si alguien ve algun fallo, que lo comente por favor. Muchas gracias
  #2 (permalink)  
Antiguo 29/04/2005, 12:19
Avatar de sir_joshua  
Fecha de Ingreso: diciembre-2004
Mensajes: 411
Antigüedad: 19 años, 10 meses
Puntos: 0
bueno me imagino que la tabla de visitas tiene un campo que ligue a la tabla de clientes... pues bueno haces un query asi:

select * from clientes where id_cliente not in ( select id_cliente from visitas);

explicacion.... esta es una estructura de subquery, la cual tiene dos selects anidados, al correr esta sentencia se ejecuta primeramente la anidada osea la segunda, la cual nos devuelve los id de todos lo clientes que hemos visitado, entonces con ello buscamos con el primer select en la tabla de clientes todos lo que tengan un id diferente que el ke nos regresa el select anidado. y ya.

nota: esto funciona 100% en oracle, quiza haya que modificar algo para otras bases, la verdad nose.

salu2.
__________________
http://sir-joshua.hi5.com
Mex. Mex.
  #3 (permalink)  
Antiguo 04/05/2005, 03:14
 
Fecha de Ingreso: abril-2005
Mensajes: 82
Antigüedad: 19 años, 7 meses
Puntos: 2
muchas gracias, eso me va bien, pero yo lo que quiero es comprobar el de una ID en concreto y no de todas como haces tu ah¡. Pongo otra condicion donde restrinja la id a una sola???
  #4 (permalink)  
Antiguo 03/06/2005, 02:01
 
Fecha de Ingreso: junio-2005
Mensajes: 1
Antigüedad: 19 años, 5 meses
Puntos: 0
una pregunta... quien me puede decir como subir mi base de datos a mi host.... mi BD la he creado en MySQL Front
  #5 (permalink)  
Antiguo 03/06/2005, 02:51
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 19 años, 5 meses
Puntos: 5
Si quieres solo saber las visitas de un solo cliente solo te faltaria una condicion y listo
select * from clientes where id_cliente not in ( select id_cliente from visitas)
AND ID_cliente=."$cliente".;

o

select id_cliente from visitas where id_cliente =."$cliente".; y si no te devuelve un registro quiere decir que no existe
  #6 (permalink)  
Antiguo 03/06/2005, 02:55
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 19 años, 5 meses
Puntos: 5
porque no te conectas con el mysql administrador a tu host y luego mediante
el restore de esta aplicacion buscas el *.sql donde esta tu base y la restauras.
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 14:20.