人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下の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

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

●質問者: matttsu
●カテゴリ:コンピュータ
✍キーワード:access MORE ON ONE Oracle
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● memo77
●20ポイント

UPDATE TABLEA

SET TABLEA.column1 = TABLEB.column2

FROM TABLEA

INNER JOIN TABLEB

ON TABLEA.column1 = TABLEB.column1

かな。

◎質問者からの返答

ORA-00933: SQL command not properly ended

になりますね…。

UPDATE SET ? FROM ? INNER JOIN

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


2 ● Mr_T_0023
●50ポイント

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

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

Update TableA

set TableA.Column1 =

(select TableB.Column2

from TableB

where TableB.Column1 = TableA.Column1)

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ