sql >> Databasteknik >  >> RDS >> Oracle

Hur man tar bort dubbletter av kolumner från join i SQL

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;


  1. Hur man säkerhetskopierar en krypterad databas med Percona Server för MySQL 8.0

  2. Knep för kontinuerlig förbättring av databasövervakning

  3. Hur sammanfogar man många rader med samma id i sql?

  4. Hur hittar man närmaste plats med hjälp av latitud och longitud från SQL-databas?