sql >> Databáze >  >> RDS >> Oracle

SQL:Sjednocení dvou tabulek, které nemají shodu v celém sloupci

Musíte explicitně přetypovat hodnoty NULL na příslušné typy v horním 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;

Pokud jde o alternativy jako @evilive říká, že můžete použít pevné hodnoty jako prázdný řetězec ('' ) pro VARCHAR nebo nula pro NUMBER, ale podle mého názoru je explicitní obsazení lepší řešení, protože je zřejmé a nezpůsobí překvapení

SQLFiddle




  1. postgreSQL třídění s časovými razítky

  2. Rozdíl mezi minimem a maximem pro každý sloupec vypočítejte, pouze pokud je vyšší než 0

  3. Polymorfismus LINQ-to-XYZ?

  4. PostgreSQL na podnikovém uzlu Corda vyvolává chyby vztahu