With the pre-knime 4.5 (or 4.4?) Joiner node I could combine the first two by using the RowIDs:
and then once again to add the third table to the combined table:
Exactly what I want. However, that old Joiner node is now deprecated. With the new Joiner node, I get this after the first join:
I don’t see a way to join the third table without doing nasty string manipulations, or first moving the rowid to a string column, join on that, and then move the column back again to the rowid. Frustrating when this was never necessary before.
I strongly suggest adding an option “keep original row IDs (make unique if necessary)” or something like that.
According to NodePit, we have the new node since v4.2, but I think this includes the time it spent in the Lab. The changelog mentions its introduction in v4.2 and some improvements in v4.4, but no promotion to production node. Joiner — NodePit
I think this behaviour has always been there as far as I can remember. It essentially shows you which RowID from table 1 was joined with with RowID from table 2.
I never rely or use Knime’s Row ID column as it’s controlled by Knime. If these values of the Row ID columns are important and are to be used, I usually make sure that they become a data column by moving the values using the RowID node.
Nevertheless, I like the idea of having the option of keeping the original Row IDs, though in case of a Join, I don’t see how this can be done. If you are not joining on the Row ID column, which table’s Row ID should be in that column? Table 1’s? Table 2’s? That is probably why the Knime team is doing it this way.
@bruno29a When one joins on row IDs, the row IDs of the product table are unambiguous and there is no need to concatenate the original row IDs. The old Joiner node understood this, but the new Joiner node does not.