{Quando for necessário utilizar um union para juntar duas tabelas que não sejam equivalentes é possível utilizar o cast na instrução para criar um campo virtual.
Select clientes.codCliente, clientes.NomeCli, clientes.CategoriaCli from clientes
union
select fornecedores.CodFornecedor, fornecedores.NomeFor, cast('' as varchar(10))
order by 1