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

単一のwhere句を使用したOraclesqlMERGE INTO

    この例では、問題は間違いなくUSINGサブクエリにあります。このクエリは、table2.column1の複数の値を生成します :

    SELECT DISTINCT table2.column1, 
            view1.column2
     FROM SCHEMA2.TABLE_2 table2
     LEFT JOIN SCHEMA2.VIEW_1 view1
     ON table2.column2 = view1.column3
    

    したがって、ON句はtable1の同じ行に一致します 複数回:

    ON (table1.column3 = t2.column1 )
    

    Oracleは、t2.column2のどの値を把握できません。 UPDATEで使用する必要があるため、ORA-30926がスローされます。 。

    サブクエリでdistinctを使用しても、すべての列の順列が得られるため、役に立ちません。 t2.column1の一意の値を生成するサブクエリを作成する必要があります すべての行にわたって、または別の識別列を追加して、table1に結合できる一意のキーを生成します 。



    1. (Python)psycopg2のインストール

    2. 友達ユーザーのリストを表示すると、すべてのユーザーが表示されません

    3. 集計関数と他のすべての列を選択します

    4. Webアプリケーション用のファイルストレージ:ファイルシステムvs DBvsNoSQLエンジン