Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenos días,
Tengo un problema, que no consigo encontrar respuesta mirando por los foros. Intento explicarlo
Parto de que tengo que atacar 2 bd diferentes, por lo que tengo que hacer 2 conexiones, cada una de ellas cuando necesite sacar la información de una u otra
BD1:
Necesito crear una tabla con ID's únicos
Tabla1:
ID: 1,2,...,1000
BD2:
Necesito crear una tabla pero el campo que es único en tabla1, no es único en tabla2
Tabla2:
clave ID otroCampo
a 1 1000
b 2 2000
c 1 500
d 4 250
Mi problema es que hay IDs, que pueden estar en la tabla2, pero no en la tabla1, es decir, yo querria quitar ciertos IDs, en base a que esten en mi tabla1, por ejemplo, dejar fuera el ID = 4, quedando como tabla resultante
TablaFinal:
clave ID otroCampo
a 1 1000
b 2 2000
c 1 500
Deberia ser algo asi como load en tabla final resident Tabla2 where exists(ID) en tabla1, pero no he encontrado ninguna forma, de que algo asi funcione.
¿Alguien se le ocurre como hacer algo así?, gracias de antemano
Un saludo
Jonay
Hola,
Puedes cargar ambas tablas y luego unirlas mediante un left join para quedarte sólo con las filas que necesites, por ejemplo
Tabla1:
LOAD *
FROM BDD1;
Noconcatenate
Tabla2:
LOAD *
FROM BDD2;
Noconcatenare
TablaFinal:
LOAD *
Resident Tabla1
left join
LOAD *
Resident Tabla2;
DROP Tables Tabla1, Tabla2;
También puedes hacer el left join directamente cuando leas las tablas al principio.
Un Saludo
Hola,
Puedes cargar ambas tablas y luego unirlas mediante un left join para quedarte sólo con las filas que necesites, por ejemplo
Tabla1:
LOAD *
FROM BDD1;
Noconcatenate
Tabla2:
LOAD *
FROM BDD2;
Noconcatenare
TablaFinal:
LOAD *
Resident Tabla1
left join
LOAD *
Resident Tabla2;
DROP Tables Tabla1, Tabla2;
También puedes hacer el left join directamente cuando leas las tablas al principio.
Un Saludo
Buenas Jose Miguel,
Muchas gracias por la ayuda. Como comentas se puede hacer directamente sin tablas intermedias, haciendo uso de alguno de los diferentes joins. Yo lo había hecho y no "me funcionaba", pero era porque luego en otra tabla que cargaba a posteriori, no tendría en cuenta restricción que queria y me estaban apareciendo ids que en teoria no tenían que aparecer
En el caso de hacerlo con diferentes tablas, no era necesario el noconcatenate, ya que los campos de ambas tablas no coincidan en todos sus campos
Un saludo
Jonay