Oracle
 sql >> Base de données >  >> RDS >> Oracle

SQL :Union de deux tables qui n'ont pas de correspondance de colonne complète

Vous devez convertir explicitement les NULL en types appropriés dans le SELECT supérieur .

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;

Quant aux alternatives comme @evilive indique que vous pouvez utiliser des valeurs fixes comme chaîne vide ('' ) pour les VARCHARs ou zéro pour les NUMBERs mais à mon avis la distribution explicite est la meilleure solution car elle est évidente et ne causera pas de surprises

SQLFiddle