Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-09-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 17
microbiano Va por buen camino
buscar registros que estan en una tabla que no estan en otra

bien pues algo que crei realmente facil me esta sacando canas verdes jejeje, quiero saber que registros no estan en una tabla pero si estan en otra.

tabla 1

licitacion- gpo--gen-esp
00641321-017-10 --010--000-0104
00641321-017-10 --010--000-0105
00641321-017-10 --010--000-0106
00641321-017-10 --010--000-0107
00641321-018-10 --010--000-0105
00641321-018-10 --010--000-0106
00641321-018-10 --010--000-0106
00641321-018-10 --010--000-0107

tabla 2

licitacion- gpo--gen-esp -- rfc proveedor
00641321-017-10 --010--000-0104 ---XOBH-801025-UK1

BIEN LO QUE QUIERO ES QUE ME SAQUE LOS REGISTROS DE LA TABLA UNO QUE NO ESTAN EN LA TABLA DOS.

LO INTENTO CON LA SIGUIENTE CONSULTA PERO ME MUESTRA TODOS LOS REGISTROS.
Código SQL [-]
select * from REQUERIMIENTO as a
where not exists(select * from OFER_RECIB as b
where
a.gpo=b.gpo and
a.gen=b.gen and
a.esp=b.esp and
a.zona=b.id_zona and
b.rfc_proveedor='AME -900523-CM3') AND .a.licitacion='LA-019GYR047-T36-2011'
Responder Con Cita
  #2  
Antiguo 29-09-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Algo así, dicho esquemáticamente.

Código SQL [-]
select * from tabla1
left join tabla2 on
  tabla1.campos = tabla2.campos /* campos para hacer la relación */
where
  tabla2.algúncampo is null

// Saludos
Responder Con Cita
  #3  
Antiguo 29-01-2013
constsab constsab is offline
Registrado
NULL
 
Registrado: ene 2013
Posts: 1
Poder: 0
constsab Va por buen camino
Gracias Roman,

Este ejemplo tuyo me quedó que ni mandado hacer para mi consulta en access:

SELECT DISTINCT WhereUsed.AAM_ID
FROM ((WhereUsed LEFT JOIN OH ON Whereused.AAM_ID = OH.Item))
WHERE OH.Item is null

Saludos.
Responder Con Cita
  #4  
Antiguo 30-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #5  
Antiguo 31-05-2013
Daguett Daguett is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 1
Poder: 0
Daguett Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Algo así, dicho esquemáticamente.

Código SQL [-]
select * from tabla1
left join tabla2 on
  tabla1.campos = tabla2.campos /* campos para hacer la relación */
where
  tabla2.algúncampo is null

// Saludos
Estimado,

Entiendo la query, pero lo que no me queda claro es el por qué del "tabla2.algúncampo is null".

De Antemano muchas gracias
Responder Con Cita
  #6  
Antiguo 02-06-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Daguett Ver Mensaje
Estimado,

Entiendo la query, pero lo que no me queda claro es el por qué del "tabla2.algúncampo is null".

De Antemano muchas gracias
Hola Daguett.

Por que de cumplirse, quiere decir que existe un registro en la TABLA1 que no satisface la condición: tabla1.campos = tabla2.campos. Y por lo tanto no existe bajo esa relación en la TABLA2.

Tal vez te ayude verlo escrito de otro modo:
Código SQL [-]
SELECT *
FROM TABLA1 T1
WHERE NOT EXISTS (SELEC * FROM TABLA2 T2 WHERE T1.ID = T2.TABLA1_ID)


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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
En donde están los .pas? Selene Varios 3 18-03-2007 04:26:57
Obtener elementos de una tabla que no estan en otra Durbed SQL 4 29-12-2005 14:27:20
insertar al final de la tabla, sin que me los ponga hantes de los que ya estan insert sakuragi SQL 2 12-08-2005 23:32:12
Con que estan hechos brandolin Varios 1 21-10-2003 16:09:19
solo los que no estan en una tabla marcelofabiani Tablas planas 1 04-09-2003 01:36:44


La franja horaria es GMT +2. Ahora son las 01:15:48.


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