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

SQL:Обединение на две таблици, които нямат пълно съвпадение на колони

Трябва изрично да прехвърлите NULL към подходящи типове в горния SELECT .

CREATE VIEW MY_VIEW AS 
SELECT
TABLE_A.A1,
TABLE_A.A2,
CAST(null AS <type_of_TABLE_B_B2>) as B2
from TABLE_A
union all
SELECT 
null,
TABLE_B.B1,
TABLE_B.B2
from TABLE_B;

Що се отнася до алтернативите като @evilive казва, че можете да използвате фиксирани стойности като празен низ ('' ) за VARCHAR или нула за NUMBERs, но според мен изричното предаване е по-добро решение, защото е очевидно и няма да причини изненади

SQLFiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL/SQL настройка на производителността за LIKE '%...%' заместващи заявки

  2. Извличане на връщани стойности на pl/sql масив в java

  3. Предаване на масив от .Net приложение към съхранена процедура на Oracle

  4. Как да АКТУАЛИЗИРАТЕ една колона, като използвате друга колона в друга таблица? SQL грешка:ORA-00933:SQL командата не е приключила правилно

  5. ORA-01799:колона не може да бъде външно свързана с подзаявка