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

comparar datos de tipo detalle

Estas en el tema de comparar datos de tipo detalle en el foro de Bases de Datos General en Foros del Web. Buenas tardes, tengo 2 tablas con los mismos campos ejemplo : codigo nombre edad telefono doc 001 juan 28 5569987 a01 001 jose 24 998874 ...
  #1 (permalink)  
Antiguo 15/04/2008, 15:38
 
Fecha de Ingreso: enero-2006
Mensajes: 121
Antigüedad: 18 años, 3 meses
Puntos: 1
Pregunta comparar datos de tipo detalle

Buenas tardes, tengo 2 tablas con los mismos campos ejemplo :

codigo nombre edad telefono doc
001 juan 28 5569987 a01
001 jose 24 998874 a05
001 antonio 32 5265214 a01
001 luis 21 5598874 a02


codigo nombre edad telefono doc
001 juan 28 5569987 a01
001 jose 24 998874 a05
001 antonio 32 5265214 a01
001 luis 21 5598874 a02
001 sara 19 5588144 05


Quisiera obtener los datos nuevos respecto a la 1 tabla en este caso:

001 sara 19 5588144 05

Saludos y gracias por la ayuda que me puedan brindar
  #2 (permalink)  
Antiguo 16/04/2008, 02:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: comparar datos de tipo detalle

Buenas,
select * from tabla2
MINUS
select * from tabla1

Un saludo
  #3 (permalink)  
Antiguo 16/04/2008, 10:27
Avatar de jair20x  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid - España
Mensajes: 532
Antigüedad: 18 años, 5 meses
Puntos: 1
Mensaje Re: comparar datos de tipo detalle

yo tengo el mismo problemas con 2 BD el cual contienen las mismas tablas
pero de tipo maestro,detalle

1 TABLA CLIENTE

a)
codigo nombre direccion telefono
001 lily Jr los heroes 123456
002 andres Av carrion 654321
003 antonio jr libertad 412563

b)
codigo nombre direccion telefono
001 lily Jr los heroes 123456
002 andres Av carrion 654321
003 antonio jr libertad 111111
004 kelly av los angeles 991144

*de aca tendria que mostrarme

003 antonio jr libertad 111111 > Registro modificado
004 kelly av los angeles 991144 > Registro nuevo

2 TABLA PRODUCTOS

a)
codigo nombre precio
001 radio 60
001 televisor 250
001 Lavadora 800
001 refigeradora 850

b)
codigo nombre precio
001 radio 60
001 televisor 250
001 Lavadora 600
001 refigeradora 850
001 tostadora 40

*de aca tendria que mostrarme

001 refigeradora 850 > Registro modificado
001 tostadora 40 > Registro nuevo


Como ven en la 1era tabla el ID es unico y el otro al ser de tipo detalle el Id es repetitivo

como obtendria estos 4 resultados con que tipo de query
Saludos y espero que me puedan ayudar

Última edición por jair20x; 16/04/2008 a las 11:08
  #4 (permalink)  
Antiguo 17/04/2008, 10:50
Avatar de jair20x  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid - España
Mensajes: 532
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: comparar datos de tipo detalle

Alguien que tenga algun conocimiento de este tema
  #5 (permalink)  
Antiguo 18/04/2008, 09:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
con left join y buscando los null

Imagina que tienes dos tablas, t1 y t2 con datos coincidentes en dos campos llamados en ambas tablas campo1 y campo2
Sé que hay otras posibilidades, pero yo te ofrezco esta consulta para encontrar las excepciones. Ojo, entre los campos no metas los id, pues ese no es criterio para la comparación.

select t1.* from t1 left join t2 on CONCAT(t1.campo1, t1.campo2) = concat(t2.campo1, t2.campo2) WHERE concat(t2.campo1, t2.campo2) IS null

te saca los de t1 que no aparecen en t2


y, si cambias t1 por t2 en la sintaxis, encontrarás los de t2 que no están en t1

Naturalmente, si son más de dos campos, tendrás que hacer los concat con los nombres de los campos que sean.

Última edición por jurena; 18/04/2008 a las 12:27
  #6 (permalink)  
Antiguo 18/04/2008, 11:38
Avatar de jair20x  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid - España
Mensajes: 532
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: comparar datos de tipo detalle

Era justo lo que necesitaba de verdad me haz ayudadoo muchoooo
Un saludo y muchas gracias
  #7 (permalink)  
Antiguo 18/04/2008, 11:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Re: comparar datos de tipo detalle

Ha sido un placer, aunque seguro que hay alguna solución mejor...
saludos
  #8 (permalink)  
Antiguo 22/04/2008, 03:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: comparar datos de tipo detalle

Cita:
Ha sido un placer, aunque seguro que hay alguna solución mejor...
saludos
Es mucho mejor en rendimiento, utilizar UNION, MINUS ....
  #9 (permalink)  
Antiguo 22/04/2008, 04:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: comparar datos de tipo detalle

Cita:
Iniciado por jair20x Ver Mensaje
Alguien que tenga algun conocimiento de este tema
SI HUBIERAS LEIDO EL RESTO DEL HILO VERIAS QUE TE DI LA SOLUCION.
  #10 (permalink)  
Antiguo 22/04/2008, 08:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Re: comparar datos de tipo detalle

seyko,

Respecto a lo que dices, creo que llevas razón, aunque el problema, al menos para mí, es que minus, que yo sepa, no funciona en MySQL. Es cierto que el post es de base de datos, pero probablemente trabajaba como yo en MysqL y al tratar de aplicar minus tuvo problemas. De todas formas, debía haber dicho que no le funcionaba y nada más..., para que se le pudieran hacer las aclaraciones. En cuanto al union, seguro que hay soluciones fáciles que hacen lo mismo, pero yo, la verdad, no las recordaba... Imaginaba, eso sí, que había soluciones mejores.

PD: probablemente te mojarías algo en Cáceres, porque al final el tiempo cambió. De todas formas seguro que lo pasaste bien.
  #11 (permalink)  
Antiguo 22/04/2008, 12:07
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: comparar datos de tipo detalle

EXCEPT tampoco existe en Mysql??
En postgres es EXCEPT sustituye a MINUS.

jeje el festival fue un poco desastre, el sabado nos lo cancelaron, pero el tiempo que estuve lo disfrute a tope.

Un saludo
  #12 (permalink)  
Antiguo 22/04/2008, 14:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Re: comparar datos de tipo detalle

Seyko,
que yo sepa, tampoco EXCEPT está implementado en MySQL, pero mis conocimientos son escasos.

Saludos
  #13 (permalink)  
Antiguo 18/05/2008, 18:07
 
Fecha de Ingreso: enero-2006
Mensajes: 121
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Re: comparar datos de tipo detalle

Cita:
Iniciado por seyko Ver Mensaje
Es mucho mejor en rendimiento, utilizar UNION, MINUS ....

hice lo de "left join y buscando los null" pero nunca termina de comparar los datos, manejos tablas de mas de 50.000 registros alguien sabe una forma mas eficas para la comparación??

PD: BD= access

Última edición por bandok-reload; 18/05/2008 a las 18:51
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 04:33.