finding data from unique id in two tables
5 views (last 30 days)
Show older comments
hi,
i have a two tables one is the master table with the following fields:
table a
unique id name age
j1 john 34
j2 max 18
j3 pablo 17
j4 immy 32
and so on consisting of around 100 rows
and the second table is just a column of unique ids but not in the same order as the master table for eg:
table b
unique id
j3
j2
around 40 rows ( number can change)
how do i extract data from table a using unique id from table b and fill the name and age column in table b?
i want the output of table b to be
unique id name age
j3 pablo 17
j2 max 18
do i have use a for loop only and check each unique id or is there a better and faster way?
any help on this matter would be highly appreciated.
thanks
0 Comments
Accepted Answer
Rik
on 15 Oct 2021
You can use the ismember function.
2 Comments
Rik
on 15 Oct 2021
No need for any loops at all:
%Create the data
UID={'j1';'j2';'j3';'j4'};
name={'john';'max';'pablo';'immy'};
age=[34;18;17;32];
T1=table(UID,name,age);
UID={'j3';'j2'};
T2=table(UID);
%Find matches
[a,b]=ismember(T2.UID,T1.UID);
%Assign data
T2.name={T1.name{b}}.';
T2.age=T1.age(b);
T2
More Answers (0)
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!