in union queries, the data type must be the same.
if the field names are different, the query will use the field name of the first table, unless you give it an alias.
a view using union query is a better option than a temporary table, as the data will always be up to date.
i would tend to go for this approach unless you wanted to create a 'snapshot'
take a look at this link for some background...
sql_union.asp
if you want a bit of help on syntax, let me know.