This depends on how you are processing the data, because if you are performing steps on each row (where the row is the transaction item), then it would make more sense to keep it simple: just use a filter to get the value from the “Valid To” and add it to the row.
However, if your process is just to combine the two tables, then I’m pretty sure there is a Linq solution somewhere on the forums similar to @Palaniyappan’s first post. If I come across it I will post it, but you could do some searching for it
Also, I’m fairly sure the Join Data Table activity let’s you do this, although, it does have limitations and I haven’t used this a whole lot. - You probably need to rename the columns for it to work.