Eftersom du frågar tabellen med '*' får du alltid alla kolumner i båda tabellerna. För att utelämna den här kolumnen måste du manuellt namnge alla kolumner du vill fråga. För att tillgodose ditt andra behov behöver du helt enkelt infoga en dummykolumn till varje klausul i fackföreningsfrågan. Nedan är ett exempel som borde fungera för att tillåta det du vill ha -
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;