Nếu bạn có các trường khác nhau cũng có ý nghĩa khác nhau, bạn không thể và không nên trả chúng về cùng một vị trí. Tuy nhiên, bạn có thể 'điền vào chỗ trống' bằng cách thêm null vào các trường của mình, như sau:
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
Bạn có thể cung cấp bí danh cho giá trị rỗng trong lần chọn đầu tiên. Bạn có thể thêm bí danh trong lựa chọn thứ hai cho rõ ràng, nhưng nó sẽ không được sử dụng. Bạn thậm chí có thể sử dụng các giá trị không đổi mà bạn có thể sử dụng để phân biệt loại bản ghi sau này.