2017-12-19 3 views
-2
update table1 
set table1.col1=(select t2.c2 as X from [email protected]) 
where t1.c2=(select t3.c3,t3.c4,t3.c5 from [email protected]) 

の列からデータベースのテーブルの列を更新しようとしていますが、私は私は別のデータベースの別のテーブル

ORA-01427を取得しています:単一行副問合せは、1以上のものを返します。行

誰かが私を助けてくれますか?

+0

とにかく、このようなものは、あなたのアイデアを与えるかもしれません。 – jarlh

+5

質問を編集し、サンプルデータと希望の結果を提供してください。このエラーは明らかです。どのようにそれを修正するには、はるかに少ない。 –

+0

サブクエリは多くのレコードを返しています。だから私は特定の条件に基づいて別のテーブルからテーブルの列を更新する必要があります。 –

答えて

0

サンプルデータは、一貫した情報を投稿するのに役立ちます(TABLE1を更新し、後でT1を使用しています...何ですか?)。あなたが相関サブクエリが必要

update table1 t1 set 
    t1.c1 = (select t2.c2 
      from [email protected] t2 
      where t2.some_column = t1.some_column --> you miss this 
     ) 
where t1.cs in (select t3.c3 from [email protected] union 
       select t3.c4 from [email protected] union 
       select t3.c5 from [email protected] 
       ); 
関連する問題