![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
SQLのUPDATE文(WHERE)で教えて下さい
SQL初心者なのですが、どなたか教えて頂けないでしょうか・・・。
Oracle10gにSqlPlusで接続してテーブルをUPDATEしようとしています。
【テーブル1】
品番、 規格、 取引先、 日付
A1 XXX T001 2010/01/01
A1 YYY T002 (空白)
B1 XXX T001 (空白)
C1 ZZZ T003 (空白)
【テーブル2】
品番、 規格、 取引先、 備考
A1 XXX T001 あああ
A1 YYY T002 いいい
B1 XXX T001 ううう
テーブル1の「日付」が(空白)のレコードを対象に、
テーブル1の「品番+規格+取引先」とテーブル2の「品番+規格+取引先」が同じな場合、
テーブル1の「日付」項目に今日の日付をUPDATEしたいと考えています。
結果を以下のようにしたいです。
【テーブル1】
品番、 規格、 取引先、 日付
A1 XXX T001 2010/01/01
A1 YYY T002 2010/03/19
B1 XXX T001 2010/03/19
C1 ZZZ T003 (空白)
これが実現できるSQL文を教えて下さい。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
update テーブル1 set 日付=sysdate
where
日付 is null and
(品番,規格,取引先) in (select 品番,規格,取引先 from テーブル2)
;
な感じかなぁ。
ご回答ありがとうございます。
少しだけ変更して出来るようになりました。
抽出条件の項目に「concat」を入れないとレコード選択されず更新されませんでした。
update テーブル1 set 日付 = TO_CHAR( sysdate , 'YYYYMMDD')
where 日付 Is Null and
(concat(concat(品番, 規格), 取引先)) in (select (concat(concat(品番, 規格), 取引先)) from テーブル2) ;
これからも勉強続けていきますので、またご教授宜しくお願いします。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
SET句内で複数の条件を指定して...
-
SELECTの結果で同一行を複数回...
-
select句副問い合わせ 値の個...
-
写真のsql文空白をハイフン表示...
-
SQL GROUPで件数の一番多いレコ...
-
集計後の数値が倍になる
-
固定値を含む結合と複数テーブ...
-
select insertで複数テーブルか...
-
他のテーブルを参照した値はupd...
-
oracleの分割delete
-
updateの一括実行
-
SQLの書き方(チェックボックス)
-
データセットのレコード更新が...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
-
GROUP BYを使ったSELECT文の総...
-
Accessで別テーブルの値をフォ...
-
実績累計の求め方と意味を教え...
-
ファイル書込みで一行もしくは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select insertで複数テーブルか...
-
select句副問い合わせ 値の個...
-
SELECTの結果で同一行を複数回...
-
固定値を含む結合と複数テーブ...
-
MERGE文を単体テーブルに対して...
-
unionの結果は集計はできないで...
-
oracleの分割delete
-
SET句内で複数の条件を指定して...
-
複数テーブルのMAX値の行データ...
-
SQL GROUPで件数の一番多いレコ...
-
他のテーブルを参照した値はupd...
-
外部結合とor条件混在の記述方法
-
unionでマージした副問合せを結合
-
COUNTの取得方法(?)について...
-
集計後の数値が倍になる
-
SQLの書き方(チェックボックス)
-
副問い合わせのinsert文
-
OracleのSQLについて質問があり...
-
updateの一括実行
おすすめ情報