0

これは少し奇妙な質問かもしれませんが、結果のフィルターを作成しようとしていますが、クエリを作成する方法は私にはちょっと奇妙に思えます。

5種類の動物がいるとしましょう。デフォルトでは、すべての種類の動物が検索されますが、フィルタリングすることもできます。

つまり、猫、犬、爬虫類、鳥、魚がいるとしましょう。魚や鳥を除外したいのですが、これに気付くためのクエリを作成するにはどうすればよいですか?考えられるすべての組み合わせに対してクエリを作成する必要がありますか?それは少しばかげているようです。

すべてのクエリの例:

SELECT * FROM animals WHERE type = "dogs" OR type = "cats" OR type = "reptiles" OR type = "fish" OR type = "birds"
4

2 に答える 2

0
$array = array('fish', 'birds');
$filter = implode(",", $array);

"SELECT * FROM animals WHERE type NOT IN ($filter)"

このようにして、配列を動的に入力し、それを SQL クエリに渡すことができます。

于 2012-05-29T23:41:31.933 に答える
0

演算子を使用しNOT INます。たとえば、 and を除外するfishにはbirds:

SELECT * FROM animals WHERE type NOT IN ('fish', 'birds')
于 2012-05-29T23:34:12.787 に答える