Тъй като правите заявки към таблицата с '*', винаги ще получавате всички колони и в двете таблици. За да пропуснете тази колона, ще трябва ръчно да наименувате всички колони, които искате да направите заявка. За да отговорите на другата си нужда, трябва просто да вмъкнете фиктивна колона към всяка клауза в заявката за обединение. По-долу е даден пример, който трябва да работи, за да позволи това, което искате -
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;