Joiner (Labs) to support Semi Join?

Dear KNIME team,

I love the new Joiner (Labs) node! One question: Would it be possible to include an option for left semi join? The difference to left outer join is how duplicates in the joining keys are treated: Left outer will internally do a cross join, whereas left semi will just filter the left table according to the key occurence in the right table.

Of course, for a single join key, Reference Row Filter does the job. But since Joiner (Labs) also has an anti-join it would be great to make this complete and we wouldn’t need to teach Reference Row Filter at all anymore. Plus being able to handle multiple join keys, which Reference Row Filter can’t.

Best regards

Arne

1 Like

Hi @arbe -

Interesting idea! Let me see if I can get some feedback from the devs on this. :slight_smile:

Hello @arbe,

if I got you right after let outer join you could use (teach others to use) Duplicate Row Filter node?

Br,
Ivan

Hi Ivan,

No doubt, there are workarounds. But I believe none of them will be just 1 additional node. Duplicate Row Filter alone won’t be able to distinguish whether the duplication came from the left or right table (which semi join does), at least if you don’t repeat the key columns from both tables. Blind application of Duplicate Row Filter might even delete some of your duplicates from the left table which are supposed to survive a left semi join. You can think of this feature request as an integrated Reference Row Filter (with include option) for multiple columns. And since Joiner (Labs) has the Anti Join already, it would make teaching KNIME a lot easier to say “it just has it all”. :slight_smile:

Best regards

Arne

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.