MySQL - comparar dos tablas

 
Vista:

comparar dos tablas

Publicado por gontzal (3 intervenciones) el 14/06/2007 02:59:27
Muy buenas:-)

Estoy intentando comparar 2 tablas y borrar el resultado, pero algo debo de estar haciendo mal, por que tarda muchisimo.

Tengo la tabla1 con una cantidad de numeros de telefono y la tabla2 con otra cantidad de numeros de telefono, lo que pretendo es buscar que numeros de la tabla1 estan en la tabla2 y borrarlos de la tabla1, para eso estoy lanzando la siguiente sentencia:

delete from tabla1 where numero in (select numero from tabla2);

la tabla1 tiene unos 500 registros y la tabla2 unos 3000 y ya lleva 4 horas procesando y no termina, la maquina es un core 2 duo a 2300 con 2 gigas de ram corriendo mysql5 sobre centos 4.5. De memoria y de micro no es, por que tengo memoria libre de sobra y el micro esta trabajando al 20%

me podeis echar una manita?

Gracias

Gontzal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:comparar dos tablas

Publicado por pablo (8 intervenciones) el 16/06/2007 06:55:21
La cantidad de registros es un dato anexo que poco aporta.

Lo que haces mal es que tú buscas números de una tabla que se encuentren en la otra tabla. Es un equi-join:

DELETE FROM tabla_1 WHERE numero in( SELECT numero FROM tabla_2 WHERE tabla_1.Telefono = tabla_2.Telefono);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar dos tablas consulta

Publicado por jorge (4 intervenciones) el 16/05/2009 21:21:28
hola, favor me pueden ayudar con lo siguiente.

Tengo dos tablas para registrar el ganado existente en una finca.

La primera es la ficha de cada animal o el inventario inicial de todos los animales presentes en el momento del conteo.

La segunda tabla la necesito para inventariar una vez al mes el ganado, y ver si el ganado esta completo o no, es decir comparar la primera tabla con la segunda tabla y los animales que no coincidan son los que hacen falta.

SELECT ficha.id_animal, inventa.id_animal FROM ficha,inventa WHERE ficha.id_animal <> inventa.id_animal

no acepta <>

FAVOR ME PUEDEN AYUDAR.

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar dos tablas en consulta

Publicado por jorge (4 intervenciones) el 16/05/2009 21:55:15
hola Pablo, favor me pueden ayudar con lo siguiente.

Tengo dos tablas para registrar el ganado existente en una finca.

Tabla1 = ficha (id_animal,fecha_nacio,foto)
Tabla2 = inventa (id_animal,fecha)

La primera es la ficha de cada animal o el inventario inicial de todos los animales presentes en el momento del conteo.

La segunda tabla la necesito para inventariar una vez al mes el ganado, y ver si el ganado esta completo o no, es decir comparar la primera tabla con la segunda tabla y los animales que no coincidan son los que hacen falta.

SELECT ficha.id_animal, inventa.id_animal FROM ficha,inventa WHERE ficha.id_animal <> inventa.id_animal

no acepta <>

FAVOR ME PUEDEN AYUDAR.

GRACIAS

Intente esto, tampoco funciona:

SELECT FROM ficha WHERE numero in( SELECT numero FROM inventa WHERE ficha.id_animal = inventa.id_animal);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar