Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да премахнете дублирани колони от съединение в SQL

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

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. ORA-31011:Анализът на XML е неуспешен - невалидни знаци (oracle sql)

  2. Как да деактивирам пула на връзките?

  3. Пейджиране с Oracle

  4. 2 функции, които връщат месеца от дата в Oracle

  5. дефинирана от потребителя персонализирана агрегатна функция с помощта на plsql