• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLのUPDATE文(WHERE)で教えて下さい)

SQLのUPDATE文(WHERE)でテーブルの特定のレコードを更新する方法

このQ&Aのポイント
  • SQLのUPDATE文(WHERE)を使用して、テーブルの特定のレコードを更新する方法について教えてください。
  • Oracle10gにSqlPlusで接続してテーブルの更新を行いたい場合、テーブル1の「日付」が(空白)のレコードを対象に、テーブル1の「品番+規格+取引先」とテーブル2の「品番+規格+取引先」が同じ場合、テーブル1の「日付」項目に今日の日付をUPDATEするSQL文を使います。
  • 実現したい結果は、テーブル1の「日付」が(空白)のレコードを更新して、テーブル2の「品番+規格+取引先」と一致する場合に、テーブル1の「日付」に今日の日付を設定することです。

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

  • ベストアンサー
回答No.1

update テーブル1 set 日付=sysdate where 日付 is null and (品番,規格,取引先) in (select 品番,規格,取引先 from テーブル2) ; な感じかなぁ。

hmkk_lala
質問者

お礼

ご回答ありがとうございます。 少しだけ変更して出来るようになりました。 抽出条件の項目に「concat」を入れないとレコード選択されず更新されませんでした。 update テーブル1 set 日付 = TO_CHAR( sysdate , 'YYYYMMDD') where 日付 Is Null and (concat(concat(品番, 規格), 取引先)) in (select (concat(concat(品番, 規格), 取引先)) from テーブル2) ; これからも勉強続けていきますので、またご教授宜しくお願いします。 本当にありがとうございました。

関連するQ&A