sql >> Base de Datos >  >> RDS >> Oracle

SQL:unión de dos tablas que no tienen coincidencia de columna completa

Debe convertir explícitamente NULL a los tipos apropiados en la parte superior 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;

En cuanto a las alternativas como @evilive dice que puede usar valores fijos como cadena vacía ('' ) para VARCHAR o cero para NÚMEROS, pero en mi opinión, la conversión explícita es una mejor solución porque es obvia y no causará sorpresas

SQLFiddle