我有一个sql语句,它根据在where子句中使用IN关键字选择数据,但我希望能够选择不在传入的select参数中的数据。我将有一个列表IN(1,2,6,4)形式,在IN子句中传递。但我希望能够选择与IN子句中的内容不匹配的所有其他数据。这是我sample 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)