私はトリッキーなものを持っています。t1のフィールドがt2に存在しないレコードを選択しますが、t1フィールドがNULLの場合は無視します。
VoucherCode | Category | Size | Colour | Gender
0001 | Shirt | NULL | Green | Male
0002 | Shirt | 12 | NULL | Male
0003 | Shirt | 12 | Blue | NULL
0004 | Shirt | NULL | NULL | NULL
0005 | Shorts | NULL | Brown | Male
0006 | Shorts | 10 | NULL | Male
0007 | Shorts | 12 | Green | NULL
0008 | Shorts | NULL | NULL | NULL
0009 | Pants | NULL | Pink | Female
0010 | Pants | 10 | NULL | Male
0011 | Pants | 12 | Purple | NULL
0012 | Pants | NULL | NULL | NULL
表2: 私はテーブル
表1に二組有する
ProductCode | Category | Size | Colour | Gender
0001 | Shirt | 10 | Blue | Male
0002 | Shorts | 13 | Brown | Female
0003 | Pants | 10 | Purple | Male
0004 | Pants | 10 | Purple | Female
最初の表は、リスト券であるが、第二の表は、製品のリストです。 私はバウチャーのリストを返すクエリを書く必要があり、それはうまくいかないでしょう。
伝票の特定の属性は、リテラルの代わりにNULL
とすることができます。これは、定義されている他の属性の任意の組み合わせのためのものです。
例:
VoucherCode 0001 できない作業シャツ、緑の色、および男性
の性別のカテゴリに商品はありませんので、VoucherCode 0004 でし仕事があるので、シャツのカテゴリの製品です。
これを考慮すると、おそらくはうまくいかない表1のすべてのレコードを返すクエリを作成する必要があります。
結果はこのように見て
VoucherCode | Category | Size | Colour | Gender
0001 | Shirt | NULL | Green | Male
0002 | Shirt | 12 | NULL | Male
0003 | Shirt | 12 | Blue | NULL
0005 | Shorts | NULL | Brown | Male
0006 | Shorts | 10 | NULL | Male
0007 | Shorts | 12 | Green | NULL
0009 | Pants | NULL | Pink | Female
0011 | Pants | 12 | Purple | NULL
誰もが、私はこれを達成できる方法任意のアイデアを持っていますか?
タグあなたの質問をデータベースであなたは使用しています。 –
出力に含まれるために各伝票が満たす必要のあるルール、述語または式を書き留めます。例が役に立ちますが、ルールを最初に定義する必要があります。 –
あなたの説明は*ほぼ*完璧です。しかし、あなたはテーブルt1にバウチャー3,4,8をリストすることを忘れてしまったようです。彼らはあなたの解決策にしか現れません。 – cars10m