Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Remove this line: "SVGES005_Soggetti_tmp:"
Change to "Left Join (SVGES106_Assicurato_tmp)"
Your table "SVGES106_Assicurato_tmp" is gonna be your new joined table.
TableA:
Load ID,*
FROM Table1;
Left Join (TableA)
Load ID, *
From Table2;
go thru to understand how joins work.
I would say that you don't need the temp tables, so
SVGES106_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
$(QVD_PATH)\SVGES106.QVD (qvd);
Left Join
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);
Drop Field "Numero soggetto";
Supposing you don't do anything on the resident table, you don't need them.
To make sure that the drop field statement is referring to the right table it is also probably better to include the table name
Drop field "Numero soggetto"
from
SVGES106_Assicurato;
I need that Table SVGES106_Assicurato_tmp would be joined with SVGES005_Soggetti_tmp
in order to generate the new table SVGES106_Assicurato.
Can you write me the exact syntax of left join?
Thanks
Marco
Hi Marco,
Try below:
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);
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);
NoConcatenate
SVGES106_Assicurato:
Load *
resident
SVGES106_Assicurato_tmp;
left join(SVGES106_Assicurato)
Load *
resident
SVGES005_Soggetti_tmp;
Drop Table SVGES106_Assicurato_tmp;
Drop Table SVGES005_Soggetti_tmp;
Drop Field "Numero soggetto";
Now I have changed so, but it still is not working:
SVGES005_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
$(QVD_PATH)\SVGES005.QVD (qvd);
SVGES106_Assicurato:
Left Join (SVGES005_Soggetti)
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);
I need the table SVGES106_Assicurato data with added the table of SVGES005_Soggetti is it correct?
Thanks
Marco
Try this
SVGES005_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
$(QVD_PATH)\SVGES005.QVD (qvd);
Left Join (SVGES005_Soggetti)
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);