以下の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/06/28 20:49:52
  • 終了:2007/07/03 09:30:56

回答(2件)

id:memo77 No.1

memo77回答回数238ベストアンサー獲得回数202007/06/28 22:08:33

ポイント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

Mr_T_0023回答回数20ベストアンサー獲得回数02007/06/29 12:39:16

ポイント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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません