はじめまして、似た質問があったのですが解決には至らなかったので質問させていただきます。
表A
列1…主キー
列2
--中略--
列8
表B
列1…主キー
列
--中略--
列8
このような二つの表があり、列1は表Bにあるものはすべて表Aにありますが、
表Aの列1には表Bの列1にはないものがあります。
それ以外の列構造は同じですがデータはすべて異なっています。
表AとBの列1の値が同じものは、表Aの列8を表Bの列8で上書きをしたいです。
UPDATE 表A SET
表A.列8 = (SELECT 表B.列8 FROM 表B
WHERE 表A.列1 = 表B.列2)
WHERE 表A.列1 =ANY(SELECT 表B.列1 FROM 表B)
このUPDATE文を実行すると、
ORA-01427: 単一行副問合せにより2つ以上の行が返されます。
というエラーになってしまいます。
検索などして、調べてみたのですが、このエラーから抜けることができません。
アドバイスをいただけたらと、投稿させていただきました。
よろしくお願いします
No.3ベストアンサー
- 回答日時:
ただの投稿の書き間違いだとすると、
表B.列1がユニークである以上、エラーは出なさそうですね・・・。
とりあえず、私だったらこう進めます。
(1)SET直後の副問い合わせに"AND ROWNUM=1"を付ければ
エラーがなくなる事を確認=間違いなくここが原因だと特定
(2)UPDATE文をなるべくコピペで編集して、
表A.列1の値と、(select 表B.列8~)のcountとを出力するSELECTに変えて実行
(3)countが>1の表A.列1の値で、select 表B.列8~の部分を実行して結果を見る
このくらいで何か分かる予定です(^^;
ローダのdirectモードで表Bに重複データを入れたら、こうなる・・かも・・
あとはSQLの微妙な間違いで、意図した物になっていない、とか
そのくらいしか私には見当付かないです・・・。
No.2
- 回答日時:
UPDATE 表A SET
表A.列8 = (SELECT 表B.列8 FROM 表B
WHERE 表A.列1 = 表B.列2) ←列2???
WHERE 表A.列1 =ANY(SELECT 表B.列1 FROM 表B)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[SQL]重複内容を持つデータから...
-
MERGE文について
-
shellからストアドプロシージャ...
-
”パラメータ値を TextBox から ...
-
Oracle SQLでのデータ抽出
-
SQLでlike検索条件を副問い合わ...
-
ExcelVBAを使って、値...
-
VB.NETで DataRow()を利用して...
-
テキストボックスのvalueとtext...
-
i=cells(Rows.Count, 1)とi=cel...
-
VBA:小数点以下の数字を取得で...
-
特定のセルが空白だったら、そ...
-
エクセルの複数データーをダブ...
-
Accessのクエリで、replace関数...
-
[エクセル]連続する指定範囲か...
-
VBA実行後に元のセルに戻りたい
-
ListView 項目の選択/選択解除...
-
VB.NETでコンボボックスの1行目...
-
Flexgridで選択行の列の値を取...
-
ExcelのINDEXとMATCH関数でスピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
”パラメータ値を TextBox から ...
-
[SQL]重複内容を持つデータから...
-
shellからストアドプロシージャ...
-
SQLでlike検索条件を副問い合わ...
-
PLSQLで条件によりSQLを動的に...
-
ビュー(インラインビュー)で...
-
Exp.exeに指定するparfileパラ...
-
バッチからのSQLPlusの実行につ...
-
MERGE文について
-
SQL構文を手助けしてください
-
テキストボックスのvalueとtext...
-
VB.NETで DataRow()を利用して...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
Accessのクエリで、replace関数...
-
Excelで指定した日付から過去の...
-
[エクセル]連続する指定範囲か...
-
VBAでActiveDirectoryのユーザ...
-
【Excel VBA】指定行以降をクリ...
おすすめ情報