sql >> Databáze >  >> RDS >> Oracle

Jak odstranit duplicitní sloupce ze spojení v SQL

Protože dotazujete tabulku s '*', vždy získáte všechny sloupce v obou tabulkách. Chcete-li tento sloupec vynechat, budete muset ručně pojmenovat všechny sloupce, na které se chcete dotazovat. Chcete-li vyřešit vaši další potřebu, musíte jednoduše vložit fiktivní sloupec do každé klauzule ve sjednocovacím dotazu. Níže je uveden příklad, který by měl fungovat tak, aby umožňoval to, co chcete -

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;


  1. Python:použít mysqldb k importu tabulky MySQL jako slovníku?

  2. Databázový koutek:Průvodce pro začátečníky k úložišti Mysql

  3. Jak nastavit časové pásmo pro Postgres psql?

  4. Nahrávání obrázků pomocí polí a chyb načítání