sql >> データベース >  >> RDS >> Oracle

SQL:完全な列の一致がない2つのテーブルの結合

    上位のSELECTで適切なタイプにNULLを明示的にキャストする必要があります 。

    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;
    

    @eviliveとしての代替案について 空の文字列として固定値を使用できると言います('' )VARCHARの場合はゼロ、NUMBERの場合はゼロですが、私の意見では、明示的なキャストの方が明らかであり、驚きを引き起こさないため、より良い解決策です。

    SQLFiddle




    1. MySQLでJSONを解析する

    2. mysqlの同等のデータ型

    3. PostgreSQL-GROUPBY句

    4. 別のテーブルからのSELECTSUMを使用したMySQLUPDATE