Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak usunąć zduplikowane kolumny z połączenia w SQL?

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dodaj rekord w nlog do pola z dataType =date

  2. czy jest jakaś funkcja do tłumaczenia danych w sql

  3. Jak rozwiązać ORA-29285:błąd zapisu pliku

  4. Używanie aliasu w części instrukcji Case w Oracle SQL

  5. pętla przez tablicę dla warunku where pl/sql