Why does Matlab enforce uniqueness in join
36 views (last 30 days)
Show older comments
For example
table1 = table([1 1 2 2].', [0 0 0 0].');
table2 = table([1 1 2 2].', [1 1 1 1].');
table2.Properties.VariableNames{2} = 'Var3';
join(table1, table2)
we get:
>> join(table1, table2)
Error using table/join (line 111)
The key variable for B must have unique values.
I don't find this behaviour desirable as you are able to do a join when the key variables are not unique in SQL.
Is there a reason why MW decided to enforce this condition?
0 Comments
Answers (2)
the cyclist
on 6 Apr 2016
3 Comments
Matias Andina
on 17 Jun 2018
I had a similar problem and solved it using
outerjoin(x, y, 'Type', 'Left', 'MergeKeys', true)
r r
on 23 May 2021
The problem I used the same method and it appears to me NUN ???
T1 = readtable('R.txt','ReadVariableNames',false)
T2 = readtable('ShellE.txt','ReadVariableNames',false)
C=outerjoin(T1, T2, 'Type', 'Left', 'MergeKeys', true)
1 Comment
Walter Roberson
on 23 May 2021
You need to use 'LeftKeys' and 'RightKeys' because you are not joining on the variable names that are shared between them (such as 'Var1')
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!