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: 
Not applicable

WHERE EXISTS/NOT EXISTS Problem

Hi,

I have 4 tables:

Two tables are History Tables that contain all the data.

Two tables are Delta Tables-contained partial data from the history tables.

I have the following code and I want to use "WHERE EXISTS/NOT EXISTS":

how can i build the "logNew" table and "LeadsNew" table correctly.

log_history:

LOAD * INLINE [

    ID,Leads_Unique,Name,colur

    A,1,shanihistory, red

    B,2,ifatdelta, green

    C,3,bellehistory, blue

    D,4,oranhistory,black

];

NoConcatenate

log_delta:

LOAD * INLINE [

    ID ,Leads_Unique,Name,colur

    A,1,shanidelta, red

    B,2,ifatdelta, green

    ];

NoConcatenate

LeadsHistory:

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category   

    1,a, damrihistory

    2,b, solomonov-history

    3,c, damrisolomondelta

    4,d, solomondelta

];

NoConcatenate

Leadsdelta:

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category   

    3,c, damrisolomondelta

    4,d, solomondelta

];

//---------------------------------------------------------------------------------------------------------------------------------------//

logNew:

load * Resident log_delta

where Exists (Leads_Unique);  //******from table LeadsHistory

Concatenate

load * Resident log_history

where Exists (Leads_Unique)   //******from table Leadsdelta

and not Exists (ID);   //******from table log_delta

NoConcatenate

LeadsNew:

load * Resident LeadsHistory

where Exists (Leads_Unique)//******from table log_delta

and not Exists (Leads_Unique); //******from table Leadsdelta

Concatenate

load * Resident Leadsdelta

where Exists (Leads_Unique); //******from table log_history

drop table log_history;

drop table log_delta;

drop table LeadsHistory;

drop table Leadsdelta;

Thanks in advance

1 Solution

Accepted Solutions
MindaugasBacius
Partner - Specialist III
Partner - Specialist III

QUALIFY *;

log_history:

LOAD * INLINE [

    ID,Leads_Unique,Name,colur

    A,1,shanihistory, red

    B,2,ifatdelta, green

    C,3,bellehistory, blue

    D,4,oranhistory,black

];

NoConcatenate

log_delta:

LOAD * INLINE [

    ID ,Leads_Unique,Name,colur

    A,1,shanidelta, red

    B,2,ifatdelta, green

    ];

NoConcatenate

LeadsHistory:

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category

    1,a, damrihistory

    2,b, solomonov-history

    3,c, damrisolomondelta

    4,d, solomondelta

];

NoConcatenate

Leadsdelta:

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category

    3,c, damrisolomondelta

    4,d, solomondelta

];

UNQUALIFY *;

//---------------------------------------------------------------------------------------------------------------------------------------//

logNew:

load log_delta.ID as ID

  ,log_delta.Leads_Unique as Leads_Unique

  ,log_delta.Name as Name

  ,log_delta.colur as colur

Resident log_delta

where Exists (LeadsHistory.Leads_Unique, log_delta.Leads_Unique);  //******from table LeadsHistory

Concatenate

load log_history.ID as ID

  ,log_history.Leads_Unique as Leads_Unique

  ,log_history.Name as Name

  ,log_history.colur as colur

Resident log_history

where Exists (Leadsdelta.Leads_Unique, log_history.Leads_Unique)  //******from table Leadsdelta

and not Exists (log_delta.ID, log_history.ID);  //******from table log_delta

Try to load this code and check whether or not this is a result to wish to get?

Screenshot_1.jpg

Exists first parameter is used to identify Where you wish to check data and the second one What field you wish to check.

View solution in original post

4 Replies
MindaugasBacius
Partner - Specialist III
Partner - Specialist III

Could you please collaborate and tell us what end result do you expect?

MindaugasBacius
Partner - Specialist III
Partner - Specialist III

QUALIFY *;

log_history:

LOAD * INLINE [

    ID,Leads_Unique,Name,colur

    A,1,shanihistory, red

    B,2,ifatdelta, green

    C,3,bellehistory, blue

    D,4,oranhistory,black

];

NoConcatenate

log_delta:

LOAD * INLINE [

    ID ,Leads_Unique,Name,colur

    A,1,shanidelta, red

    B,2,ifatdelta, green

    ];

NoConcatenate

LeadsHistory:

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category

    1,a, damrihistory

    2,b, solomonov-history

    3,c, damrisolomondelta

    4,d, solomondelta

];

NoConcatenate

Leadsdelta:

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category

    3,c, damrisolomondelta

    4,d, solomondelta

];

UNQUALIFY *;

//---------------------------------------------------------------------------------------------------------------------------------------//

logNew:

load log_delta.ID as ID

  ,log_delta.Leads_Unique as Leads_Unique

  ,log_delta.Name as Name

  ,log_delta.colur as colur

Resident log_delta

where Exists (LeadsHistory.Leads_Unique, log_delta.Leads_Unique);  //******from table LeadsHistory

Concatenate

load log_history.ID as ID

  ,log_history.Leads_Unique as Leads_Unique

  ,log_history.Name as Name

  ,log_history.colur as colur

Resident log_history

where Exists (Leadsdelta.Leads_Unique, log_history.Leads_Unique)  //******from table Leadsdelta

and not Exists (log_delta.ID, log_history.ID);  //******from table log_delta

Try to load this code and check whether or not this is a result to wish to get?

Screenshot_1.jpg

Exists first parameter is used to identify Where you wish to check data and the second one What field you wish to check.

sunny_talwar

Try this:

log_history:

LOAD *,

          Leads_Unique as Leads_Unique_log_history,

          ID as ID_log_history;

LOAD * INLINE [

    ID,Leads_Unique,Name,colur

    A,1,shanihistory, red

    B,2,ifatdelta, green

    C,3,bellehistory, blue

    D,4,oranhistory,black

];

NoConcatenate

log_delta:

LOAD *,

          Leads_Unique as Leads_Unique_log_delta,

          ID as ID_log_delta;

LOAD * INLINE [

    ID ,Leads_Unique,Name,colur

    A,1,shanidelta, red

    B,2,ifatdelta, green

    ];

NoConcatenate

LeadsHistory:

LOAD *,

          Leads_Unique as Leads_Unique_LeadsHistory;

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category

    1,a, damrihistory

    2,b, solomonov-history

    3,c, damrisolomondelta

    4,d, solomondelta

];

NoConcatenate

Leadsdelta:

LOAD *

          Leads_Unique as Leads_Unique_Leadsdelta;

LOAD * INLINE

[Leads_Unique,Leads_Status,Lead_Category

    3,c, damrisolomondelta

    4,d, solomondelta

];

//---------------------------------------------------------------------------------------------------------------------------------------//

logNew:

LOAD *

Resident log_delta

Where Exists (Leads_Unique_LeadsHistory, Leads_Unique);  //******from table LeadsHistory

Concatenate

LOAD *

Resident log_history

Where Exists (Leads_Unique_Leadsdelta, Leads_Unique)  //******from table Leadsdelta

and not Exists (ID_log_delta, ID);  //******from table log_delta

NoConcatenate

LeadsNew:

LOAD *

Resident LeadsHistory

Where Exists (Leads_Unique_log_delta, Leads_Unique)//******from table log_delta

and not Exists (Leads_Unique_Leadsdelta, Leads_Unique); //******from table Leadsdelta

Concatenate

LOAD *

Resident Leadsdelta

Where Exists (Leads_Unique_log_history, Leads_Unique); //******from table log_history

drop table log_history;

drop table log_delta;

drop table LeadsHistory;

drop table Leadsdelta;

Not applicable
Author

Thank you all!!!