Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Connect 2026 Agenda Now Available: Explore Sessions
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to insert data if not present in table?Infinidb

Hi all!
I have a table in the infinidb. Table not have foreign key.
My talend job have two tInputMySQL, - one main input and one Lookup component that connect to the tMap.
I use expession in the tMap, "row1.id!=row4.Master_category_value" If id not exist at the selected data then process insert data. But this expression don't work! Talend ignore this expression and beging insert duplicate data.
Ok, in the tMysqlOutput component set option in "action on data" = update or insert. But Talend create new row when and i have many duplicate rows! Does this issue cose i use table without foreign keys?

Sorry for my english. Lets see my screenshots in attachments.
Labels (2)
14 Replies
Anonymous
Not applicable
Author

But with "Inner join" option my process doesnt work correct..
Expression being ignore.
alevy
Specialist
Specialist

But Join Model for row4 have only one option: Left Outer Join and dont select to another..

As you've figured out, you can't change to an inner-join before you specify the fields for the join i.e. you must enter row3.id against Master_category_value first.
But with "Inner join" option my process doesnt work correct..

You still have not followed my or shong's instructions. Only have the inner-join and "Catch lookup inner join reject". Do not have your expression (row3.id!=row4.Master_category_value) anywhere.
What you have done now is join on row3.id==row4.Master_category_value and then filter out every lookup result where row3.id!=row4.Master_category_value i.e. no results.
Anonymous
Not applicable
Author

But Join Model for row4 have only one option: Left Outer Join and dont select to another..

As you've figured out, you can't change to an inner-join before you specify the fields for the join i.e. you must enter row3.id against Master_category_value first.
But with "Inner join" option my process doesnt work correct..

You still have not followed my or shong's instructions. Only have the inner-join and "Catch lookup inner join reject". Do not have your expression (row3.id!=row4.Master_category_value) anywhere.
What you have done now is join on row3.id==row4.Master_category_value and then filter out every lookup result where row3.id!=row4.Master_category_value i.e. no results.

This decision doesn't work. I want to select rows from source table with ID's which isn't present in the output table with Master_category_id's. Or if output table does not have rows then process must be insert all rows from source table to output table.
Anonymous
Not applicable
Author

This is simple case, but I can't still have implement it.
rbaldwin
Creator
Creator

Based upon the most recent screenshot I've seen of your tMap, you've got it slightly misconfigured.
Here are the options that you need:
1. Join condition on row4 (row1.id) in Master_category_value, which you have.
2. Under the options, set "Join Model" equal to "Inner Join" - which you may have already, but the options on row4 aren't shown.
3. On out1's options set "Catch lookup inner join rejects" to "true"

See the attached screenshot for an example of the configuration for both the input and the output sides of the tMap.
Hope that helps.