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 04-10-2004
Avatar de raffagia
raffagia raffagia is offline
Miembro
 
Registrado: sep 2004
Posts: 31
Poder: 0
raffagia Va por buen camino
Diferencia entre dos tablas...

que sentencia utlizo para hacer por sql ke me devuelva el diferencia entre dos tablas?
o sea los elementeo de la primer tabla,, ke no estan en la segunda,,

parece algo muy simple y de los mas normal en una consulta,,,pero no logro dar con la sentencai adecuada,,,

muchas gracias por leer

saludios

Raffa
Responder Con Cita
  #2  
Antiguo 04-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por raffagia
que sentencia utlizo para hacer por sql ke me devuelva el diferencia entre dos tablas?
o sea los elementeo de la primer tabla,, ke no estan en la segunda,,
Se me ocurre que se puede hacer o con un "NOT IN" o utilizando JOIN. Ahora lo explico; Supongamos que tienes dos tablas Tabla1 y Tabla2 cada una con un campo OID que coincide; Se supone que buscamos los registros de tabla1 cuyo OID no está entre los de la tabla2. Sería algo así:

Busca todos los registros de tabla1 cuyo campo OID no está en el campo OID de los registros de la tabla2.

Código SQL [-]
select * from Tabla1 OID where OID not in (select OID from tabla2)

La segunda opción es un poco más comlpleja, pero también más eficiente; Se trata de hacer una JOIN (LEFT JOIN, para ser exactos) a partir de los campos OID de ambas tablas y mirar aquellos que devuelven OID NULL (que son los que en la tabla2 no existen); Para ésta opción es premisa que todos los registros (de ambas tablas) tengan el campo OID relleno:

Código SQL [-]
select tabla1.*, tabla2.OID as OID2 from tabla1 left join tabla2 on tabla1.oid=tabla2.oid where tabla2.oid is null
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 04-10-2004
Avatar de raffagia
raffagia raffagia is offline
Miembro
 
Registrado: sep 2004
Posts: 31
Poder: 0
raffagia Va por buen camino
gracias

muchisimas gracias,,,,

anda barbaro con el NOT IN....

saludos

RAffa
Responder Con Cita
  #4  
Antiguo 08-02-2008
omarifr omarifr is offline
Miembro
 
Registrado: nov 2004
Posts: 32
Poder: 0
omarifr Va por buen camino
Tambien me sirvio, gracias..
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


La franja horaria es GMT +2. Ahora son las 22:49: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