Why does Matlab enforce uniqueness in join
36 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
the cyclist
2016-4-6
3 个评论
Matias Andina
2018-6-17
I had a similar problem and solved it using
outerjoin(x, y, 'Type', 'Left', 'MergeKeys', true)
r r
2021-5-23
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 个评论
Walter Roberson
2021-5-23
You need to use 'LeftKeys' and 'RightKeys' because you are not joining on the variable names that are shared between them (such as 'Var1')
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!