-- Two original tables create table a ( id int(11) unsigned not null, account_no bigint(26) unsigned not null, unique key id_idx (id) ); create table b ( id int(11) unsigned not null, balance double not null, unique key id_idx (id) ); -- New table create table c ( id int(11) unsigned not null, account_no bigint(26) not null, balance float not null, unique key id_idx (id) ); insert into a values (1,1); insert into a values (2,2); insert into b values (1,100.0); insert into b values (2,200.0); -- Populate c with values from a and b insert into c ( id, account_no, balance) select a.id, a.account_no, b.balance from a, b where a.id=b.id; select * from c; +----+------------+---------+ | id | account_no | balance | +----+------------+---------+ | 1 | 1 | 100 | | 2 | 2 | 200 | +----+------------+---------+ 2 rows in set (0.00 sec)