Dado que está consultando la tabla con '*', siempre obtendrá todas las columnas en ambas tablas. Para omitir esta columna, deberá nombrar manualmente todas las columnas que SÍ desea consultar. Para abordar su otra necesidad, simplemente debe insertar una columna ficticia en cada cláusula en la consulta de unión. A continuación se muestra un ejemplo que debería funcionar para permitir lo que desea:
SELECT customer.customerid, customer.customername, customer.customeraddress, newspapername, magazinename, enddate, publishedby
FROM customer
INNER JOIN
(select customerid, newspapername, null Magazinename, enddate, n.publishedby
from newspapersubscription ns, newspaper n
where publishedby in(select publishedby
from newspaper
where ns.newspapername = n.NewspaperName)
UNION
select customerid, null newspapername, Magazinename, enddate, m.publishedby
from magazinesubscription ms, magazine m
where publishedby in(select publishedby
from magazine
where ms.Magazinename = m.MagazineName))
on customer.customerid = customerid
ORDER BY customer.customerid;