私は2つのデータテーブルを持っています。 1つは製品で、もう1つはカテゴリの分類表です。排除作業をどのように行うか、分類表のすべてのインスタンスをカバーする方法はわかりません。MYSQL:いくつか存在する場合、カテゴリに基づく結果から製品を除外します。
表製品
ID | Name
1 | Apples
2 | Oranges
3 | Potatoes
4 | Rosemary
表カテゴリさて、私はこの要求した場合
TaxID | ID | CategoryID
1 | 1 | 10
2 | 2 | 10
3 | 1 | 20
4 | 2 | 20
5 | 3 | 20
6 | 3 | 30
7 | 4 | 40
:
SELECT p.ID, Name, categoryID FROM Products p JOIN Category c ON p.ID = c.ID WHERE CategoryID != 30 AND CategoryID != 40 GROUP BY p.ID
私が取得:
ID | Name | CategoryID
1 | Apples | 10
2 | Oranges | 10
3 | Potatoes | 20
を
私が欲しかったのはリンゴとオレンジのみでしたし、ジャガイモもカテゴリーID 30に含まれているので表示されません。ローズマリーは除きますが、ジャガイモではタキソミーミーテーブルに別のカテゴリがあるのでジャガイモを含みます。