Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
marco_puccetti
Partner - Creator
Partner - Creator

Left Join Between Tables

Hello i need to get a left join between two tables A and B related by a key. The statement is this:

SVGES106_Assicurato_tmp:

LOAD

  AACONFIP            AS "Anni di contribuzione",

    AAETA              AS "Età alla Decorrenza",

    APENSIONE          AS "Anno di Pensionamento",

//CDISTPROPR,

    CDPARENT            AS "Grado di Parentela",

    CDPREVCOM          AS "Codice Previdenza Complementare",

    CDPREVOBB          AS "Codice Previdenza",

    CDPROFGEST          AS "Codice Professione Gestore",

    CDTPLAV            AS "Tipologia di lavoratore",

    Date(DTISCRFIP)    AS "Data Iscrizione Fondo Pensione",

    Date(DTPENSIONE)    AS "Data Pensionamento",

    FLAUTCASS    AS "Flag Trattamento Dati Personali a Scopo Commerciale",

    FLAUTPASS          AS "Flag Trattamento Dati Personali",

    FLBSAL              AS "Flag Buona Salute",

    FLFUMAT        AS "Flag Fumatore",

    MATRICOLA          AS "Matricola",

    NUOGG              AS "NUOGG",

    NURELAZ, //CAMPO CHIAVE GENERICO PER DATI DI POLIZZA//

    NUSOGG              AS "Numero soggetto"

FROM

$(QVD_PATH)\SVGES106.QVD (qvd);

Left Join

SVGES005_Soggetti_tmp:

LOAD

      CDISTPROPR      AS "Codice istituto proprietario",

      CDCAPRES        AS "Codice C.A.P. residenza/sede legale",

      CDFISC          AS "Codice Fiscale",

      CDISTCOLL        AS "CDISTCOLL",

      DSCOGNOME        AS "Cognome/ragione sociale",

      DSLOCNASC        AS "Codice comune di nascita",

      DSLOCRES        AS "Comune di residenza/sede legale",

      DSNOME          AS "Nome",

      DSVIARES        AS "Indirizzo di residenza/sede legale",

      Date(DTNASC)    AS "Data di nascita/costituzione",

      NUSOGG          AS "Numero soggetto",

      NUTELRES        AS "Numero di telefono residenza"

FROM

$(QVD_PATH)\SVGES005.QVD (qvd);

SVGES106_Assicurato:

Load *

resident

SVGES106_Assicurato_tmp;

Drop Table SVGES106_Assicurato_tmp;

Drop Table SVGES005_Soggetti_tmp;

Drop Field "Numero soggetto";

What's wrong in the script? I can't create the SVGES106_Assicurato that has not to contain the "Numero soggetto" field.

In particular which table is created by the first Left Join statement? Is it correct to use SVGES106_Assicurato_tmp.

Thanks

Marco

13 Replies
marco_puccetti
Partner - Creator
Partner - Creator
Author

Can you make me a more simple example, it is still not working.

Thanks.

Marco

Anonymous
Not applicable

can you post the sample file please,so can help

marco_puccetti
Partner - Creator
Partner - Creator
Author

The join is between a two table:

Soggetti (that contain the generic datas)

Assicurato (that contains more specific datas)

key: Numero soggetto

Soggetti:

LOAD

   CDISTPROPR       AS "Codice istituto proprietario",

      CDCAPRES         AS "Codice C.A.P. residenza/sede legale",

      CDFISC           AS "Codice Fiscale",

      CDISTCOLL        AS "CDISTCOLL", 

      DSCOGNOME        AS "Cognome/ragione sociale",

      DSLOCNASC        AS "Codice comune di nascita",

      DSLOCRES         AS "Comune di residenza/sede legale",

      DSNOME           AS "Nome",

      DSVIARES         AS "Indirizzo di residenza/sede legale",

      Date(DTNASC)     AS "Data di nascita/costituzione",

      NUSOGG           AS "Numero soggetto",

      NUTELRES         AS "Numero di telefono residenza"

FROM

$(PATH)\SVGES005.QVD (qvd);

Assicurato:

LOAD

  AACONFIP            AS "Anni di contribuzione",

     AAETA               AS "Età alla Decorrenza",

     APENSIONE           AS "Anno di Pensionamento",

//CDISTPROPR,

     CDPARENT            AS "Grado di Parentela",

     CDPREVCOM           AS "Codice Previdenza Complementare",

     CDPREVOBB           AS "Codice Previdenza",

     CDPROFGEST          AS "Codice Professione Gestore",

     CDTPLAV             AS "Tipologia di lavoratore",

     Date(DTISCRFIP)     AS "Data Iscrizione Fondo Pensione",

     Date(DTPENSIONE)    AS "Data Pensionamento",

     FLAUTCASS     AS "Flag Trattamento Dati Personali a Scopo Commerciale",

     FLAUTPASS           AS "Flag Trattamento Dati Personali",

     FLBSAL              AS "Flag Buona Salute",

     FLFUMAT         AS "Flag Fumatore",

     MATRICOLA           AS "Matricola",

     NUOGG               AS "NUOGG",

     NURELAZ, //CAMPO CHIAVE GENERICO PER DATI DI POLIZZA//

     NUSOGG              AS "Numero soggetto"

FROM

$(PATH)\SVGES106.QVD (qvd);

I need to get a table that contains the Assicurato  plus the Soggetti datas. How can i do?

Thanks

Marco

marco_puccetti
Partner - Creator
Partner - Creator
Author

I have tried so

A:

LOAD

UNO,

DUE,

NURELAZ,

CDISTPROPR

FROM

A.QVD (qvd);

LEFT JOIN (A)

LOAD

NURELAZ,

CDISTPROPR,

NURELAZ &'#'& PRG   AS "KEY"

FROM

B.QVD (qvd);

and now it seems to work.