How Do i Sort rows in tables based on unique rows dictionary ?

2 views (last 30 days)
Dear experiences..
i have two tables.... A and B, where table A involves 4 columns as follow :
Table A:-
Id index con_name class
1 200 greed 1
2 301 rfg 3
3 505 rft 3
4 401 oil 1
etc..
Table B:-
con_name Var1 Var2 .......... VarN
rft ............................
greed ............................
rfg ............................
conr ...........................
oil ...........................
  • So ,my requirements as follow:
  • i need to build dictionary table includes only (con_name) that exist in both tables A and B.. then
  • remove con_name rows from Table A that not exist in dictionary table
  • remove con_name rows from Table B that not exist in dictionary table
  • sort con_name rows in table A and B in similar order.. where the result of table A and B shows that con_name in similar order.
i would thanks any one can help me in these requirements. thanks

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 8 Jun 2017
[l0,iB] = ismember(A.con_name,B.con_name);
dictionary_table = A{l0,3};
A_new = A(l0,:);
B_new = B(iB(l0),:);
[~,ii] = ismember(A_new.con_name,B_new.con_name):
B_new = B_new(ii,:);

More Answers (1)

Peter Perkins
Peter Perkins on 9 Jun 2017
This sounds a lot like one or more innerjoin operations.

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!