2017-01-18 9 views
0

結合を使用してOracle SQLで更新文を設定する方法。例は動作しません。 私は、結合でF2からレコードを選択してテーブルF1を編集したいと思います。結合を使用したSQL ORACLE UPDATE

UPDATE F1 
SET a1b2 = 58585, a1b3 = 98989 
FROM FILE1 F1 
JOIN FILE2 F2 ON F1.KEY = F2.KEY 
WHERE F2.IDNBR = 99999 
+0

SOドキュメンテーション領域から:http://stackoverflow.com/documentation/oracle/8061/update-with-joins#t=201701190021526575307 – mathguy

+0

「作業していない」とはどういう意味ですか?そして、「更新ステートメントを設定する方法」とはどういう意味ですか?あなたは何をしようとしているのですか?何が起こると思いますか、代わりに何が起こりますか? – EJoshuaS

+0

"デバッグのヘルプを求める質問(「なぜこのコードは動作しませんか?」)には、目的の動作、**特定の問題またはエラー**、および質問自体に再現するのに必要な最短コードが含まれている必要があります。問題文は他の読者には役に立たない」目的の動作も、特定の問題またはエラーも含まれません。 – EJoshuaS

答えて

0

私はあなたの条件の権利を理解していれば、それはIDNBR=9999file2に対応する行を持っているすべてのそれらの行のファイル1の値a1b2a1b3の更新についてです。その後、私は参加し使用しないと思いますが、同じくらい簡単exists -checkは、次のとおりです。

UPDATE file1 SET a1b2 = 58585, a1b3 = 98989 
where exists (
    select * from FILE2 F2 where file1.KEY = F2.KEY and F2.IDNBR = 99999) 

はい、これは動作します!少しの錆びた句。ありがとうございました。

+0

私は、あなたの答えの周りにさらにいくつかの文脈を追加してほしいかもしれません。コードのみの回答は理解しにくいです。あなたの投稿にさらに情報を追加することができれば、これはAskerと将来の読者に役立ちます。 – RBT

+0

@RBT:完了。今はもっと良いと思います。 –

+0

私は、結合でF2からレコードを選択してテーブルF1を編集したいと思います。 – In2Data

関連する問題