Ponieważ wysyłasz zapytanie do tabeli za pomocą „*”, zawsze otrzymasz wszystkie kolumny w obu tabelach. Aby pominąć tę kolumnę, musisz ręcznie nazwać wszystkie kolumny, które chcesz zapytać. Aby zaspokoić inne potrzeby, wystarczy wstawić fikcyjną kolumnę do każdej klauzuli w zapytaniu składającym. Poniżej znajduje się przykład, który powinien działać, aby umożliwić to, czego chcesz -
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;