Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/08/2009, 04:04
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Access 2007: Hacer Join con Datos Similares

O mejor aún que eso, que da problemas en las combinaciones, puedes seguir estos pasos:
1) Creas el campo de tipo texto llamado direccion en tabla1
2) Lo pueblas con los datos de domicilio y NoExt o NoInt.
UPDATE tabla1 SET tabla1.domicilio = tabla1.direccion & ' ' & IIf(tabla1.NoExt Is Null,tabla1.NoInt,tabla1.NoExt);
3) haces un cruce para comprobar los datos:
SELECT * from tabla1 INNER JOIN tabla2 ON right(tabla2.domicilio,len(tabla1.domicilio) ) = tabla1.domicilio
4) creas un id en la tabla2. Primary key y autonumérico (lo generará automáticamente)
5) creas un campo numérico en la tabla1 llamado, por ej., refid
6) actualizas el dato refid de tabla1 con el id de acuerdo con la relación que hemos establecido:
UPDATE tabla1 INNER JOIN tabla2 ON right(tabla2.domicilio,len(tabla1.domicilio))=tabl a1.domicilio SET tabla1.refid = tabla2.id
ejecutando esta consulta como de actualización.
7) Y ya tienes las dos tablas que pueden relacionarse con id y refid
Podrás comprobarlo así:
SELECT Tabla1.*, Tabla2.*
FROM Tabla2 INNER JOIN Tabla1 ON Tabla2.ID = Tabla1.refid;

Naturalmente, habrá fallos, sobre todo cuando hayas escrito más de un espacio entre la dirección y el número, o cuando hayas escrito los números o el resto de lo que escribes de diferente manera, pero eso es algo inevitable.
Luego te toca decidir qué campos irán en cada tabla y eliminar lo que consideres oportuno. Pero eso dependerá de la naturaleza y función de los datos.