限定しりとり

お世話になります。

商品マスタがあります。
年・品番・品名のフィールドです。
年が違えば、同じ品番でもデータとしては違うものとして存在します。

2010年の商品マスタをリスト表示したいのですが
2011年にもある品番は省きたいのですが、
どのように書けばいいのでしょうか?

よろしくお願いします。

A 回答 (2件)

select 年,品番,品名


from 商品マスタ a
where 年 = '2010'
and not exists (
select *
from 商品マスタ b
where a.品番 = b.品番
and b.年 = '2011');

でどうでしょうか。
    • good
    • 0
この回答へのお礼

yamada_g様、回答ありがとうございます。

私も、
いろいろ調べて
not exists
というのが使えそうだと今さっき
分かりました。

合ってた!

ありがとうございました。

お礼日時:2011/10/07 16:53

select 年,品番,品名 from hoge


where
年 = 2010
and 品番 not in ( select 品番 from hoge where 年 = 2011 )
とか
    • good
    • 0
この回答へのお礼

SaKaKashi様、回答ありがとうございます。

いろいろ調べて
not exists にたどり着きました。
INでもできたんですね。
勉強になります。

ありがとうございました。

お礼日時:2011/10/07 16:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す