![]() |
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:
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. |
Seleccionar registros de una tabla que no existen en 2 tablas
Estoy utilizando Mysql.
|
Buen día,
- |
Cita:
Me sale un error de sintaxis que "falta operador". saludos. |
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. |
Cita:
Saludos. |
De todas formas te digo que también lo puedes hacer como lo estabas planteando en un principio, con exists, lo único que tu consulta yo la dejaría de esta forma.
Saludos. |
Cita:
Pues me gustaría que explicara por qué la dejaría así, ya que del modo que planteas, usando sub consultas tienes que esperar que se creen las dos tablas resultados para después comparar y generar la tabla resultado principal, de lo contrario, usando los inner join la comparación se realiza al tiempo que se está generando la consulta principal, por lo que en este caso particular debería tener mejor rendimiento. Saludos. |
No me había dado cuenta de tu pregunta yusnerqui.
En realidad no me refería a que fuera la mejor opción, solo que, en caso de que lo quisiera plantear con exist hacerle saber que se puede pero que, yo lo dejaría de la forma que le puse. Saludos. |
La franja horaria es GMT +2. Ahora son las 15:22:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi