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

Comparar tablas SQL

Estas en el tema de Comparar tablas SQL en el foro de Mysql en Foros del Web. Me gustaria saber como puedo hacer dos cosa 1 tengo una tabla nombrada TARJETA1 y otra TARJETA, estas tiene un campo en comun CEDULA, me ...
  #1 (permalink)  
Antiguo 29/01/2007, 07:58
 
Fecha de Ingreso: febrero-2002
Mensajes: 11
Antigüedad: 22 años, 2 meses
Puntos: 0
Comparar tablas SQL

Me gustaria saber como puedo hacer dos cosa

1 tengo una tabla nombrada TARJETA1 y otra TARJETA, estas tiene un campo en comun CEDULA, me gustaria saber como pruebo que la informacion que este en TARJETA1 exita en TARJETA, mas no a la inversa.

2 tambien quiero que los registroa que coincidan me le actualice la informacion del campo NOMBRE

ayuden este pobre samaritano.....
  #2 (permalink)  
Antiguo 29/01/2007, 10:42
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Comparar tablas SQL

Este código (si no la cago mucho porque yo uso subconsultas), te debe decir que registros del campo "cedula" solo aparecen en TARJETA1 pero no en TARJETA

Código:
SELECT 
cedula 
FROM 
TARJETA1 LEFT JOIN TARJETA ON TARJETA.cedula <> TARJETA1.cedula
Si tu versión de mysql es superior a la 4.0 puedes usar algo como esto

Código:
SELECT DISTINCT tarjeta1.cedula
FROM tarjeta1,tarjeta
WHERE tarjeta1.cedula NOT
IN (

SELECT DISTINCT cedula
FROM tarjeta
)
Para actualizar lso registros deberás hacer algo como esto

Código:
UPDATE tarjeta,tarjeta1 set tarjeta.nombre = tarjeta1.nombre where tarjeta.cedula = tarjeta1.cedula
Espero que te valga
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
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




La zona horaria es GMT -6. Ahora son las 14:07.