Oracle
 sql >> Database >  >> RDS >> Oracle

SQL:unione di due tabelle che non hanno una corrispondenza di colonna completa

È necessario eseguire il cast esplicito di NULL sui tipi appropriati nella parte superiore di 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;

Per quanto riguarda le alternative come @evilive dice che puoi usare valori fissi come stringa vuota ('' ) per VARCHARs o zero per NUMBERs ma secondo me il cast esplicito è una soluzione migliore perché è ovvio e non causerà sorprese

SQLFiddle