• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UPDATE文で、書き換えるデータは固定だけどレコードを固定できない場合は・・・?)

UPDATE文で、書き換えるデータは固定だけどレコードを固定できない場合は・・・?

このQ&Aのポイント
  • OracleのUPDATE文で、書き換えるデータ自体は固定だが、対象行が他のテーブル条件を参照する場合の方法を教えてください。
  • INNER JOINを使用して実現しようとしたが、SETキーワードがないためエラーが発生しました。
  • 具体的なSQLクエリが示されており、書き換えるデータが0であるが、該当するカラム条件が複数あり、どのように記述すればよいのか分からないとの質問です。

質問者が選んだベストアンサー

  • ベストアンサー
  • riveron77
  • ベストアンサー率48% (180/370)
回答No.1

事前確認してませんが…勘で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 )

buragyan
質問者

お礼

動きました!ありがとうございます!! これは、WHEREの後にIDがIN以下のサブクエリでヒットしたものと合致した~ってことになるんですね・・・。 助かりましたー。。。

その他の回答 (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 )

関連するQ&A