Why does Matlab enforce uniqueness in join
Mostrar comentarios más antiguos
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?
Respuestas (2)
the cyclist
el 6 de Abr. de 2016
3 votos
3 comentarios
Alex
el 6 de Abr. de 2016
Alex
el 6 de Abr. de 2016
Matias Andina
el 17 de Jun. de 2018
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 comentario
Walter Roberson
el 23 de Mayo de 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')
Categorías
Más información sobre Tables en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!