0

where 句で IN キーワードを使用してデータを選択する sql ステートメントがありますが、渡された select 引数で IN でないデータも選択できるようにしたいと考えています。フォームにリストがあります。 IN 句で渡される IN(1,2,6,4)。しかし、IN 句の内容と一致しない他のすべてのデータを選択できるようにしたいと考えています。ここに私のサンプルSQLへのリンクがあります

WHERE pf.filter_value_id IN(1)

しかし、IN 句を使用して渡されるデータを選択できるようにしたいとも考えています。

WHERE pf.filter_value_id IS NOT IN(1) // this doesn't work

動作しないslq:

SELECT p.product_id, p.title, fv.filter_value 
  FROM products p    
  INNER JOIN product_filters pf on pf.product_id = p.product_id
  LEFT JOIN filters f on f.filter_id = pf.filter_id
  RIGHT JOIN filter_values fv on fv.filter_value_id = pf.filter_value_id
WHERE pf.filter_value_id IS NOT IN(1)
4

1 に答える 1

2

IS NOT IN有効な MySQL ではありません。クエリ構文エラーを確認する必要があります。代わりに、句の否定をチェックしたいだけです。INまさにNOT INあなたが必要とするものです。

于 2013-04-21T23:47:28.690 に答える