Why does Matlab enforce uniqueness in join
古いコメントを表示
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?
回答 (2 件)
the cyclist
2016 年 4 月 6 日
3 投票
3 件のコメント
Alex
2016 年 4 月 6 日
Alex
2016 年 4 月 6 日
Matias Andina
2018 年 6 月 17 日
I had a similar problem and solved it using
outerjoin(x, y, 'Type', 'Left', 'MergeKeys', true)
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')
カテゴリ
ヘルプ センター および File Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!