Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2018
andres_89 andres_89 is offline
Miembro
 
Registrado: dic 2013
Posts: 46
Poder: 0
andres_89 Va por buen camino
Seleccionar registros de una tabla que no existen en 2 tablas

Buen día amigos,

Tengo un problema con una consulta sql, tengo 3 tablas (clientes, clientes_puntuales y clientes_antiguos), en la tabla "clientes" tengo todos los clientes, de los cuales algunos de ellos estan en "clientes_puntuales" y en "clientes_antiguos" a la vez.

Lo que requiero es obtener todos los registros de "clientes" que no esten en "clientes_puntuales" y en "clientes_antiguos", pero no logró armar dicho query, dejo mi query realizado:

Código SQL [-]
SELECT nombre FROM clientes 
WHERE NOT EXISTS (SELECT * FROM  clientes_puntuales WHERE clientes.nombre = clientes_puntuales.nombre)  
UNION 
SELECT nombre FROM clientes 
WHERE NOT EXISTS (SELECT * FROM  clientes_antiguos WHERE clientes.nombre = clientes_antiguos.nombre)

Lo que me devuelve la consulta son todos los registros de ambas tablas, y solo quiero obtener los registros de "clientes" que no estan en ambas tablas, ejemplo:

Tengo 3 registros en mi tabla "cliente" = (juan, marco, daniel)
Tengo 2 registros en mi tabla "cliente_puntuales" = (juan, marco)
Tengo 2 registros en mi tabla "cliente_antiguos" = (juan, marco)

y deseo obtener en este caso los registros de "clientes" que no estan en ambas tablas ("cliente_puntuales" y "cliente_antiguos") que es (daniel).
Espero puedan ayudarme, se los agradezco de antemano.
Saludos.

Última edición por andres_89 fecha: 25-03-2018 a las 22:13:29.
Responder Con Cita
  #2  
Antiguo 25-03-2018
andres_89 andres_89 is offline
Miembro
 
Registrado: dic 2013
Posts: 46
Poder: 0
andres_89 Va por buen camino
Seleccionar registros de una tabla que no existen en 2 tablas

Estoy utilizando Mysql.

Última edición por andres_89 fecha: 25-03-2018 a las 22:14:30.
Responder Con Cita
  #3  
Antiguo 25-03-2018
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 16
TOPX Va camino a la fama
Buen día,
Código SQL [-]
SELECT clientes.nombre 
FROM clientes 
  LEFT OUTER JOIN clientes_puntuales 
    ON clientes.nombre = clientes_puntuales.nombre
  LEFT OUTER JOIN clientes_antiguos 
    ON clientes.nombre = clientes_antiguos.nombre
WHERE clientes_puntuales.nombre IS NULL
  AND clientes_antiguos.nombre IS NULL
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 25-03-2018
andres_89 andres_89 is offline
Miembro
 
Registrado: dic 2013
Posts: 46
Poder: 0
andres_89 Va por buen camino
Cita:
Empezado por TOPX Ver Mensaje
Buen día,
Código SQL [-]SELECT clientes.nombre FROM clientes LEFT OUTER JOIN clientes_puntuales ON clientes.nombre = clientes_puntuales.nombre LEFT OUTER JOIN clientes_antiguos ON clientes.nombre = clientes_antiguos.nombre WHERE clientes_puntuales.nombre IS NULL AND clientes_antiguos.nombre IS NULL

-
Hola TOPX,

Me sale un error de sintaxis que "falta operador".
saludos.
Responder Con Cita
  #5  
Antiguo 26-03-2018
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Pues lo acabo de probar y funciona perfecto con solo copiarlo y pegarlo, revisa si lo estás poniendo en un procedimiento almacenado o algo pq la query está correcta.

Saludos.
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #6  
Antiguo 26-03-2018
andres_89 andres_89 is offline
Miembro
 
Registrado: dic 2013
Posts: 46
Poder: 0
andres_89 Va por buen camino
Cita:
Empezado por yusnerqui Ver Mensaje
Pues lo acabo de probar y funciona perfecto con solo copiarlo y pegarlo, revisa si lo estás poniendo en un procedimiento almacenado o algo pq la query está correcta.

Saludos.
Hola , si, ya lo probe, funciona bien, era error mío al tipearlo, gracias TOPX.
Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
seleccionar los ultimos registros de una tabla ingabraham SQL 16 21-02-2015 02:08:33
Seleccionar un numero determinado de registros de una tabla NPIdea Firebird e Interbase 8 26-11-2008 20:50:46
seleccionar los ultimos registros de una tabla JODELSA SQL 1 04-10-2006 16:27:41
Seleccionar todos los registros de una tabla menos 2 FunBit MySQL 4 13-07-2005 18:06:31
Seleccionar registros en una tabla, envio, e insercion en otra tabla!! EfrainSanmiguel Conexión con bases de datos 3 21-10-2004 02:12:43


La franja horaria es GMT +2. Ahora son las 19:04:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi