There's one important set of rules for UNIONing queries. The field list for each query in the UNION must have the same number of items. Corresponding items must be the same type. The first query in the UNION creates the template for the result, so fields in subsequent queries must be no larger than those in the first query. (They can be smaller.) If you think about what's going on here, the whole set of rules makes sense.
select CompanyName ; && a c(50) field in MyTable from MyTable ; UNION ; select space(1) as CompanyName ; from SomeOtherTableBased on the HG quote above, that should work, correct?