以下のAccessで実行していたSQLがOracleで

ORA-01427: single-row subquery returns more than one row
になり実行できません。
どのようにすれば同じ結果になるでしょうか?

UPDATE TABLEA INNER JOIN TABLEB ON TABLEA.column1 = TABLEB.column1 SET TABLEA.column1 = TABLEB.column2

出来るだけ影響度の少ない方法で出来ればなと思ってます。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/07/03 09:30:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:memo77 No.1

回答回数238ベストアンサー獲得回数20

ポイント20pt

UPDATE TABLEA

SET TABLEA.column1 = TABLEB.column2

FROM TABLEA

INNER JOIN TABLEB

ON TABLEA.column1 = TABLEB.column1

かな。

id:matttsu

ORA-00933: SQL command not properly ended

になりますね…。

UPDATE SET ~ FROM ~ INNER JOIN

の構文自体無理なのかと。

2007/06/29 12:42:01
id:Mr_T_0023 No.2

回答回数20ベストアンサー獲得回数0

ポイント50pt

Mr.Tです、こんにちは。

こんな感じではないでしょうか。

Update TableA

set TableA.Column1 =

(select TableB.Column2

from TableB

where TableB.Column1 = TableA.Column1)

id:matttsu

こんにちは。それだとこういうエラーになってしまうんです。

ORA-01427: single-row subquery returns more than one row

やはりOracleは厳密なので同様な処理は無理ってことですかね?

2007/06/29 12:43:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません