• 締切済み

SQLについての質問です

SQLの質問です。(Oracle) 二つのテーブル T1, T2 に、それぞれ三つのカラム A, B, C があり、A, B の値が同じである行においてT1のCからT2のCへ値をコピーするSQLを教えてほしいです。 以下、そのデータ例です。 テーブル T1 A B C --------- 1 AAA 10 2 BBB 20 3 CCC 30 テーブル T2 A B C --------- 1 AAA 0 2 XXX 0 4 YYY 0 この場合、結果としてテーブル T2は1行目だけがカラム Cの値がT1からコピーされ A B C --------- 1 AAA 10 2 XXX 0 4 YYY 0 としたいです。

みんなの回答

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

カテゴリ違いですけど 一応回答 update Atable set C = (select C from Btable     where Atable.A=Btable.A     and Atable.B=Btable.B) where exists(select 1 from Btable     where Atable.A=Btable.A     and Atable.B=Btable.B) ためしてないので間違ってたらすみません

hiro9688
質問者

お礼

対応できました。ありがとうございました。 (最初、テーブル T1 のデータにおいて、カラム A, Bの組み合わせが2行以上返ってくるというデータの誤入力があり、ORA-01427 のエラーで手こずっていました。)

すると、全ての回答が全文表示されます。

専門家に質問してみよう