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

SQL:Unia dwóch tabel, które nie mają pełnego dopasowania kolumn

Musisz jawnie rzutować NULL na odpowiednie typy w górnym 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;

Jeśli chodzi o alternatywy, takie jak @evilive mówi, że możesz używać stałych wartości jako pustych ciągów ('' ) dla VARCHARs lub zero dla NUMBERS ale moim zdaniem wyraźne rzutowanie jest lepszym rozwiązaniem bo jest oczywiste i nie spowoduje niespodzianek

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. Wstawianie ciągu znaków z podwójnymi cudzysłowami do tabeli

  2. buforowanie do pliku .csv przy użyciu pętli for

  3. Powolne wykonywanie zapytania w pustej tabeli. (po usunięciu dużej ilości insertów)

  4. Jak zapytać o uprawnienia w katalogu Oracle?

  5. Napraw ORA-02273:do tego unikalnego/podstawowego klucza odwołują się niektóre klucze obce