私はこの問題に苦労してきました。壁に向かいます。私はこれが簡単でなければならないことを知っています。
参照テーブルで複数の条件に一致するアイテムを選択したい。問題を説明するのに役立つスキーマの例を次に示します。
tblCars
------------
CarID
CarName
tblCarColors
------------
ColorID
Color
tblCarColorXRef
------------
ID
CarID
ColorID
基本的には、検索対象となる複数の色の車を見つけたいと考えています。例を続けます。車のテーブルのトヨタが多色だとしましょう..黒と黄色
トヨタのCarIDは1
黒の ColorID は 1 で、黄色は 2 です。
1 AND 2 に一致する tblCarColorXRef テーブル内のすべての車を検索する必要があります。「and」でなければなりません。黒の車や黄色の車ではなく、黄色と黒の両方を含む車を見つけたいと考えています。
問題は、WHERE ColorID = 1 AND ColorID = 2 を検索できることです。これは決して真ではないため、ここからヘッド バンギングが始まります。このクエリを他のテーブルの他の基準でラップする必要があります.HAVINGとCOUNTに近づきますが、それは必ずしも正確または正しいとは限りません.
補足: 車は、外部参照テーブルを使用して 1 つまたは複数の色を持つことができます。