Inner Join Option in Merge another table action [DONE]

Hi there,

I noticed with the addition of the natural merge action, there is an option for an inner join. As I understand, for this action, the column names between the two tables need to be identical. What I find however, is that the IT teams regularly have close but not matching, or entirely different naming conventions for the same source field in down stream datawarehouse locations like Snowflake. For example, Snowflake requires a capitalized snake case that looks like this: CONTRACTUAL_TENDER_DATE or something similar. Whereas, the data source will read CTD. I could utilize the natural merge action if I rename the columns first to explicitly match. So not big deal. But would there be anything preventing the inner join option on the regular Merge with another table action? I am assuming so since an entirely different action was created.

When I try to replicate an inner join using the merge another table action (and I may not be engaging in best practice), I end up having to derive to child tables from both the tables I am looking to merge and then use the keep/remove matching action to restrict each side to only the records that are in the other table. I have to use two derived tables to avoid a circular dependency.

Not really a terribly big deal as I can still get to the result I am looking for. Just throwing it out there.

Hi Sean,

You can already do an inner join, just by inserting the "Keep/remove existing rows" action before "Merge". Use the same key fields for matching in the "Keep/remove existing rows" and "Merge".

Also, we've planned a minor makeover of the "Merge" action in one of the next releases. As a part of the makeover, the "Inner join" mode will be added.

Added in v5.7.2.

image

1 Like