Registros únicos de dos bases de datos sql

Tal vez la pregunta sea muy absurda y fácil...
Comienzo en el mundo de SQL, y tengo el enterprise 2008.
Cuento con 2 tablas con más de 10 campos cada una y en algunos casos no coinciden en nombre.
Son más de 50,000 filas en cada tabla y necesito obtener una sola tabla bajo las siguientes condiciones:
Todos los registros de ambas tablas en donde el campo Tel_1 de la primera tabla no se repita con los registros del Teléfono 1 de la tabla 2...
Tabla1
Nombre|Tel_1|Direccion|Colonia|CP|RFC
Tabla2
Nombre completo|Telefono 1|direccion|Colonia|Codigo Postal|RFC
Espero que puedas ayudarme con esta consulta que no logro realizar.

1 respuesta

Respuesta
1
Puedes hacerte una vista con una sql del tipo:
Select Nombre,Tel_1,Direccion,Colonia,CP,RFC from Tabla1 where Tel_1 not in (Select Tel1 from Tabla 2)
¿Ahora si lo que quieres es sacar registros de las dos tablas? ¿Qué campos las relacionan?, ¿El nombre?
Si fuese con el nombre, podrías hacer algo así:
Select Nombre,Tel_1,Direccion,Colonia,CP,RFC from Tabla1 Inner Joing Tabla2
on Tabla1.Nombre = Tabla2.Nombre Completo
where Tel_1 not in (Select Tel1 from Tabla 2)
Hola,
Ya logré con tu ayuda realizar la sentencia 1, pero la sentencia 2 la intento realizar con tablas que cuentan con las mismas columnas en cuanto a nombre y me arroja un error de ambigüedad :S.
¿Existe la forma de realizar la consulta sin cambiar los nombres de las tablas?
Lo que intento hacer es lo siguiente, juntar ambas tablas (que tienen los mismos nombres de campos) en una sola sin que exista duplicidad en el campo numero de teléfono.
¿tengo que integrarlas con inner join y un on?
Nuevamente muchas gracias y saludos,
Si las tablas tienen el mismo nombre Tel_1 entonces prueba con esto:
Select Nombre,Tel_1,Direccion,Colonia,CP,RFC from Tabla1 Inner Joing Tabla2
on Tabla1.Nombre = Tabla2.Nombre Completo
where Tabla1.Tel_1 not in (Select Tel1 from Tabla 2)
Je je, disculpa la insistencia pero con esa sentencia me arroja lo siguiente:
Mens. 102, Nivel 15, Estado 1, Línea 3
Sintaxis incorrecta cerca de '121 50'.
Query:
select *
   from [121 35] a
      inner joing [121 50] b on a.[nombre completo] = b.[nombre completo]
           where a.[telefono 1] not in (select [TELEFONO 1] from b)
Creo que tienes un error de sintaxis... has puesto joing y es join

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas