Hi All, I have 3 tables: transaction, details, backup.
I would like to check:
IF (ID in transaction is equal to the ID in details)
the address in details table will be imported to the backup
ELSE
null;
How do I do that ?
My table is currently join together by transaction --> tMap --> Backup
@TRF I think your solution works. It's just that my ID1 and ID2 have NULL values for some rows and thus the following error message appears:
Exception in component tMap_1
java.lang.NullPointerException
I'm putting
row1.ID1 + row4.ID2 as the expression for ID to establish the join. How do I take care of the NULL value?
@TRF, I have tried adding filters where output.ID != null. However, received the following error message: Detail Message: The operator != is undefined for the argument type(s) int, null
Example: First transaction --> ID1: 123456 ID2: 789012 Second transaction --> ID1: 456789 ID2: 012345
Your column output.ID is of type int. This is a primitive type and therefore cannot be null. You will see in your table schema a tick box specifying that a column can be nullable. Tick that. It will change your column type from int to the class Integer. An object of class Integer can be null. This should enable the code suggested by TRF.
@rhall_2.0 Hello, I have tried to tick the nullable but a new error appears as follow:
Detail Message: The operator + is undefined for the argument type(s) null, Short
I currently have row1.ID1 + row4.ID2 in the expression for ID in tMap to prevent a Cartesian product for the join.
ID1 and ID2 is in type Short while ID is in type Integer.
I also activated filter at row1 : row1.ID1 != null + row1.ID2 != null
I activated filter at the output: row4.ID != null
OK. This seems to show that ticking the nullable tick box fixed that issue. This is a new one 🙂 Can you take a screenshot of your tMap with the column configurations in view? I would guess that your ID2 column is a short (also a primitive type) and also needs to have the nullable tick box ticked.
The above will add the value of ID1 (if it is not null, or 0 if it is null) to the value of ID2 (if it is not null, or 0 if it is null). That should get round your issue.