Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
dvdserrano
Contributor III
Contributor III

Juntar tablas con varios campos en comun

ProducColor
1234AD
3456RJ
4567VO
ProductosSeccionAprobadoComentarios
12341okasdf
23452no okyuio
34563okqwer
ProductosSeccionAprobadoDate
45674no ok4/11/18
123410no ok1/11/18
56785ok5/11/18

Tengo estas tres tablas y quiero que se unan en PRODUCTOS  de tal forma que quede asi:

ProductosColorSeccionAprobadoComentariosDate
1234AD1okasdf
1234AD10no ok1/11/18
3456RJ3okqwer
4567VO4no ok4/11/18

De tal forma que la clave primaria que seria productos no queden blancos y que si coinciden en productos salgan 2 registros.

1 Solution

Accepted Solutions
rubenmarin

Hola David, podría ser:

tmpTabla1:

Load * from Tabla1;

Left Join LOAD * from Tabla2;

tmpTabla2:

NoConcatenate Load * from Tabla1;

Left Join LOAD * from Tabla3;

PRODUCTOS:

NoConcatenate LOAD * resident tmpTabla1;

concatenate (PRODUCTOS) LOAD * resident tmpTabla2;


DROP Tables tmpTabla1, tmpTabla2;

View solution in original post

7 Replies
rubenmarin

Hola David, podría ser:

tmpTabla1:

Load * from Tabla1;

Left Join LOAD * from Tabla2;

tmpTabla2:

NoConcatenate Load * from Tabla1;

Left Join LOAD * from Tabla3;

PRODUCTOS:

NoConcatenate LOAD * resident tmpTabla1;

concatenate (PRODUCTOS) LOAD * resident tmpTabla2;


DROP Tables tmpTabla1, tmpTabla2;

dvdserrano
Contributor III
Contributor III
Author

Está perfecto muchas gracias de nuevo siempre me ayudas genial Ruben.

dvdserrano
Contributor III
Contributor III
Author

Como sería si en vez de dos tablas fueran 3?

rubenmarin

Sería añadir partes adicionales de:

tmpTablaX:

NoConcatenate Load * from Tabla1;

Left Join LOAD * from TablaX;

Añadirlas a la tabla de productos:

concatenate (PRODUCTOS) LOAD * resident tmpTablaX;


Y eliminarlas:

DROP Tables tmpTabla1, tmpTabla2, tmpTablaX;

dvdserrano
Contributor III
Contributor III
Author

Vale muchas gracias Ruben eres de gran ayuda

rubenmarin

Estaba pensando que podría ser simplemente

PRODUCTOS:

LOAD * FROM Tabla2;

Concatenate LOAD * FROM Tabla3;

..

Concatenate LOAD * FROM TablaX;


Right/Inner Join LOAD * FROM Tabla1; //Right si quieres dejar los productos que solo estén en Tabla1 / Inner para dejar solo los que también estén en alguna de las otras tablas

dvdserrano
Contributor III
Contributor III
Author

La cosa es que solo me interesan los productos que estan en la tabla principal de productos, de momento me funciona asi, luego probaré con la otra forma que dices tu. Gracias de nuevo