- ベストアンサー
【SQL】あるマスタのレコードに存在しない項目を取得する。
下記のような2つのマスタがあるとします。 ・商品名マスタ 商品コード 商品名 - - - - - - - - - - - - n01 ナス k01 カボチャ n02 ニンジン t01 タマネギ ・購入履歴マスタ 履歴連番 商品コード 購入日時 - - - - - - - - - - - - - - - - - 001 n01 2008-07-01 002 k01 2008-07-02 003 n01 2008-07-03 004 n01 2008-07-04 005 k01 2008-07-04 このとき、購入履歴マスタのレコードに存在しない商品を取得するSQLはどのように組み立てればよいでしょうか? 例えば上記例で言えば、下記のような結果を得ることが目的です。 商品コード 商品名 - - - - - - - - - - - - n02 ニンジン t01 タマネギ 以上、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 SELECT 商品名マスタ.商品コード , 商品名マスタ.商品名 , 購入履歴マスタ.商品コード FROM 商品名マスタ LEFT JOIN 購入履歴マスタ ON 商品名マスタ.商品コード = 購入履歴マスタ.商品コード WHERE ((購入履歴マスタ.商品コード) Is Null); でどうですか。
その他の回答 (1)
- chukenkenkou
- ベストアンサー率43% (833/1926)
RDBMS名、バージョンが明記されていないので、具体的なSQLは提示しません。 次のような方法があります。 (1)not exists (2)not in (3)left joinで結合キーがnullの行
お礼
ありがとうございました
お礼
ありがとうございました