意味も異なるさまざまなフィールドがある場合、それらを同じ位置に戻すことはできません。ただし、次のようにフィールドにnullを追加することで、「空白を埋める」ことができます。
select id, name, date, null as userid, 'A' as recordtype from table1
union all
select id, name, null /*as date*/, userid, 'B' as recordtype from table2
最初の選択でnullのエイリアスを指定できます。わかりやすくするために、2番目の選択でエイリアスを追加できますが、使用されません。後でレコードタイプを区別するために使用できる定数値を使用することもできます。