create table lzmb ( id varchar2(64), name varchar2(128), description varchar2(256), other varchar2(128) ); create table lzma ( id varchar2(64), name varchar2(128), description varchar2(256), other varchar2(128) ); create table lzmc ( id varchar2(64), name varchar2(128), description varchar2(256), other varchar2(128) ); create or replace view lzm_viewa as select * from lzma union all select * from lzmc; select * from lzm_viewa create or replace view lzm_viewb as select a.id as id, a.name as name, a.description as description, '' as other from lzma a union all select c.id as id, c.name as name, c.description as description, '' as other from lzmc c union all select b.id as id, b.name as name, b.description as description, b.other as other from lzmb b; select * from lzm_viewb