How to add two tables

67 views (last 30 days)
JFz
JFz on 23 Sep 2015
Commented: JFz on 24 Sep 2015
I have two tables of different number of rows but with same structure. They both have 3 columns, the 3rd column is numbers. How to create a new table which has the common rows on column 1 and column2 and sum on column 3?
Thanks.
Jennifer

Accepted Answer

Kirby Fears
Kirby Fears on 23 Sep 2015
Edited: Kirby Fears on 23 Sep 2015
Hi Jennifer,
Here's code with sample data that performs your task.
data=magic(3); % sample data
% creating sample tables 1 and 2
table1=array2table(data,'VariableNames',{'key1','key2','values'});
table2=array2table(data,'VariableNames',{'key1','key2','values'});
% joining tables on key1 and key2 only
tablejoin=join(table1,table2,'Keys',{'key1','key2'});
% add value columns together and delete the extra column
tablejoin.values_table1=tablejoin.values_table1+tablejoin.values_table2;
tablejoin.values_table2=[];
Hope this helps.
  5 Comments
JFz
JFz on 24 Sep 2015
I tried to use innerjoin but I got 0 row in the resulting table.
JFz
JFz on 24 Sep 2015
Hi,
Thanks Kirby,
I got it! I used innerjoin on two table and it worked!

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!