the nature / working mode of the join is as following:
combine the columns from dtLeft with the columns from dtRight
build pairs according the join type and join condition
(Short explanation - Join Datatable Activity:) make duplicated column names unique by appending_1
so looking at the result (I did implemented additionally for cross check) is is valid:
Product
Account ID2
Amount
Pan
Merchan Pan
Apple
10010222540
5
444
10010222540
Sugar
10010224010
3,6
555
10010224010
we dont have duplicates on row level:
there are 2 matches for the inner join
we dont have duplicates on col level
there is no column occuring multiple time
Yes, we do see eg. 10010222540 two times but under the different Columns (dtLeft: Account ID2, dtRight: Merchan Pan)
it is usually to do remove the unneded columns after joining by e.g. filter datatable, DataTableVar.DefaultView…
@NIVED_NAMBIAR the reason why your LINQ Result doesnt have Account ID2 and Merchan Pan is because of the value selection into the new rows Object array. But as it was done manually and it is not a out of box behaviour and similar to filter datatable-remove column action.
the resulting JoinIterator also have the same result, all cols from dtLeft and dtRight: