Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosac
Creator II
Creator II

COMO HACER ESTE JOIN???

Buenas tengo un pequeño lio y espero que alguien me pueda ayudar.

A modo de ejemplo tengo 3 tablas con los siguientes campos:

TABLA 1       TABLA 2       TABLA3

-------------       ------------         --------------

CODVAR      CODVAR        CODPRO

                    CODGRU        CODGRU

Como puedo pasar todo a una tabla unica con las variables CODVAR,CODGRU, CODPRO.

Me gustaria una tabla final como la siguiente:

TABLA RESULTADO

------------------------------------

CODVAR

CODGRU

CODPRO

Creo que con JOIN podría hacerse????

1 Solution

Accepted Solutions
soniacoprosa
Creator
Creator

Hola Galvan,

Para crearte una tabla en el script de QV que sea un join de esas 3 que ya tienes:

Qualify *;

TablaFinal:

Load

Codvar

From …………… // (de donde estés trayendo los datos)

;

Unqualify *;

Left Join (TablaFinal)

Load

Codvar as TablaFinal.Codvar,

Codgru as TablaFinal.Codgru

From …………… // (de donde estés trayendo los datos)

;

Left Join (TablaFinal)

Load

Codgru as TablaFinal.Codgru,

Codpro as TablaFinal.Codpro

From …………… // (de donde estés trayendo los datos)

;

Debería darte como resultado una única tabla llamada “TablaFinal” con los 3 campos. Como verás, utilizo el Qualify para evitar vínculos con otras posibles tablas en las que tengas el mismo campo.

Utilizo “Left join” pero podrías tener que usar “Inner join” si es que puede haber códigos que estén en la tabla 2 y no estén en la tabla 1, y lo mismo con la tabla 3.

Un saludo,

View solution in original post

5 Replies
Not applicable

En donde tienes las 3 tablas ? Si es en un servidor SQL sería suficiente

con un query con union del estilo:

select campo

from tabla1

union

select campo

from tabla2

union

select campo

from tabla3

J.

El 2 de octubre de 2013 11:08, galvan cortijo

<qcwebmaster@qlik.com>escribió:

**

QlikCommunity <http://community.qlik.com/> COMO HACER ESTE

JOIN???

creado por galvan cortijo<http://community.qlik.com/people/carlosac?et=watches.email.thread>en

QlikView en Español - Ver la discusión completa<http://community.qlik.com/message/399852?et=watches.email.thread#399852>

carlosac
Creator II
Creator II
Author

Pero de esta forma quedan 3 tablas o 1?. Me interesaría que todo quedase en una tabla y que las demás desaparecieran... Quizás la pregunta es mas bien como hacer un join dentro de otro join? Quizás debo hacer un concatenate? Alguien me podría diferenciar la instrucción join de la instrucción concatenate con un ejemplo?

Not applicable

Te queda en una sola tabla y de hecho el union te asegura que no hayan

duplicados; pero recuerda esto es si tus datos fuente los tienen en una

base de datos SQL; Sino tocaría usar otros métodos.

J.

El 2 de octubre de 2013 12:35, galvan cortijo

<qcwebmaster@qlik.com>escribió:

**

QlikCommunity <http://community.qlik.com/> COMO HACER ESTE

JOIN???

respuesta de galvan cortijo<http://community.qlik.com/people/carlosac?et=watches.email.thread>en

QlikView en Español - Ver la discusión completa<http://community.qlik.com/message/399862?et=watches.email.thread#399862>

soniacoprosa
Creator
Creator

Hola Galvan,

Para crearte una tabla en el script de QV que sea un join de esas 3 que ya tienes:

Qualify *;

TablaFinal:

Load

Codvar

From …………… // (de donde estés trayendo los datos)

;

Unqualify *;

Left Join (TablaFinal)

Load

Codvar as TablaFinal.Codvar,

Codgru as TablaFinal.Codgru

From …………… // (de donde estés trayendo los datos)

;

Left Join (TablaFinal)

Load

Codgru as TablaFinal.Codgru,

Codpro as TablaFinal.Codpro

From …………… // (de donde estés trayendo los datos)

;

Debería darte como resultado una única tabla llamada “TablaFinal” con los 3 campos. Como verás, utilizo el Qualify para evitar vínculos con otras posibles tablas en las que tengas el mismo campo.

Utilizo “Left join” pero podrías tener que usar “Inner join” si es que puede haber códigos que estén en la tabla 2 y no estén en la tabla 1, y lo mismo con la tabla 3.

Un saludo,

carlosac
Creator II
Creator II
Author

Muchas gracias a tod@s una vez más.

La verdad es que estoy aprendiendo más que meses con el manual.... y siempre estais ahí para dar un empujoncito a los torpes como yo.