sql >> Databasteknik >  >> RDS >> Oracle

SQL:Union av två tabeller som inte har fullständig kolumnmatchning

Du måste explicit casta NULL till lämpliga typer i den övre 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;

När det gäller alternativen som @evilive säger att du kan använda fasta värden som tom sträng ('' ) för VARCHARs eller noll för NUMBERs men enligt min mening är explicit rollbesättning en bättre lösning eftersom det är uppenbart och kommer inte att orsaka överraskningar

SQLFiddle




  1. Testa för säkerhetssårbarheter i webbapplikationer:Bästa metoder?

  2. group_concat klipptes när en fråga kördes i tabellen

  3. försöker få fram antalet månader

  4. Den mest effektiva metoden för att förfalla poster efter 10 minuter från skapande