ここから本文です

SQL plusにて Bテーブルの条件に当てはまった複数のデータをAテーブルにいれた...

sum********さん

2019/11/3003:08:44

SQL plusにて

Bテーブルの条件に当てはまった複数のデータをAテーブルにいれたいのですが

1.Aテーブルの中で一番最新の日付を取得
2.BテーブルでAの最新日付以降データ達を取得
3.Bの取

得したデータはNAMEの重複なし
4.Aテーブルに同じNAMEがあればUPDATE、無ければinsert
という
MERGE文を作りたいのです

MERGE INTO A
USING B
ON(A.名称=B.名前)
WHEN MATCHED THEN
UPDATED SET
PRODUCTDATE = B.DATE
名前= B名称
木 = B.木材
石 = B.石材
INSERT SET
(PRODUCTDATE,
名前,
木,
石)
VALUES
(B.DATE,
B.名称,
B.木材,
B.石材)

という文まで作りましたが、1.2の最新日付取得と最新日付以降取得が思い付きません

プラスしてBテーブルの木材量の値が-1だったら木は空にする(データを入れない)、
同じように石量の値が-1だったら石には何も名称、データを入れないという処理も追加したいです

Aテーブル
PRODUCTDATE 名前 木 石
Bテーブル
DATE 名称 木材 木材量 石材 石量

閲覧数:
12
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nora1962jpさん

2019/12/103:10:32

何をしたいのか判然としません。
マージ元テーブル、マージ先テーブルの主キーが何なのかも。

> SQL plus

とあるのにカテゴリが

SQL Server
MySQL

な理由は?
MySQLだと8.0でもMerge文は非対応だし。

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる