If you are interested in the latest date (either form current or archieved table) UNION can not help you...
UNION will remove duplicates, but for latest date you will have to do a JOIN between the tables...
Something like this:
select *
from table1
left join table2 on table1.customer = table2.customer and table1.date > table2.date
where table2.customer is null
union
select *
from table2