私はデータベースが初めてなので、とても簡単かもしれません。次のデータベース構造があります: テーブル製品
テーブル フィルター(次のようなものを含めることができます)
- 青色
- カラー ブラック
- 赤色
- サイズ小
- ブランド X
テーブル関係(製品 ID とフィルター ID のみを持つ)
黒または赤の小さい製品をすべて取得したいとします。次のクエリを書きました。
SELECT products.name FROM products
JOIN pfrelation ON
((pfrelation.filter_id=18) AND (pfrelation.filter_id=11 OR pfrelation.filter_id=13) AND products.id=pfrelation.product_id)
上記の例では、11 と 13 は黒と赤を表し、18 は小の ID です。ご想像のとおり、上記のクエリには結果がありません (ID を 18 と 11/13 の両方にすることはできません)。フィルタの任意の組み合わせを動的に追加するために選択を記述するにはどうすればよいですか? 上記の例のクエリを書き直すにはどうすればよいですか?
ありがとうございました