If you only whant to select information you can create a view to get all the data together
CREATE VIEW 'my_view' as select * from B join A on B.id = A.id;
so you can run
select field,any_field from my_view where any_condition;
having duplicated data in a database is absolutly unrecommend
i hope this help you. sice it isnt any of your options.
you can also run the query itself
select field,any_field from B join A on B.id = A.id where any_condition;