- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UPDATE文で、書き換えるデータは固定だけどレコードを固定できない場合は・・・?)
UPDATE文で、書き換えるデータは固定だけどレコードを固定できない場合は・・・?
このQ&Aのポイント
- OracleのUPDATE文で、書き換えるデータ自体は固定だが、対象行が他のテーブル条件を参照する場合の方法を教えてください。
- INNER JOINを使用して実現しようとしたが、SETキーワードがないためエラーが発生しました。
- 具体的なSQLクエリが示されており、書き換えるデータが0であるが、該当するカラム条件が複数あり、どのように記述すればよいのか分からないとの質問です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
事前確認してませんが…勘でw UPDATE テーブル1 SET テーブル1.MONEY4 = 0 WHERE テーブル1.ID IN( SELECT テーブル1.ID FROM テーブル1 INNER JOIN テーブル2 ON テーブル1.ID = テーブル2.ID AND テーブル1.DAT1 = TO_CHAR(テーブル2.DAT + 固定データ) AND TO_CHAR(テーブル2.DAT2 + 固定データ) = 4 WHERE テーブル1.MONEY4 > 0 )
その他の回答 (1)
- nora1962
- ベストアンサー率60% (431/717)
回答No.2
こんなんじゃだめでしょうか UPDATE テーブル1 SET テーブル1.MONEY4 = 0 WHERE テーブル1.MONEY4 > 0 AND EXISTS ( SELECT 1 FROM テーブル2 WHERE テーブル1.ID = テーブル2.ID AND テーブル1.DAT1 = TO_CHAR(テーブル2.DAT + 固定データ) AND TO_CHAR(テーブル2.DAT2 + 固定データ) = 4 )
お礼
動きました!ありがとうございます!! これは、WHEREの後にIDがIN以下のサブクエリでヒットしたものと合致した~ってことになるんですね・・・。 助かりましたー。。。