0
where 절에서 IN 키워드를 사용하여 데이터를 선택하는 SQL 문이 있지만 선택 항목에없는 데이터를 선택할 수 있기를 원합니다. IN 절에서 전달되는 IN (1,2,6,4) 형식의 목록을 갖게됩니다. 하지만 IN 절에있는 것과 일치하지 않는 다른 모든 데이터를 선택할 수 있기를 원합니다. 여기 내 sample sqlmysql은 IF NOT IN 키워드 또는 대안을 사용하여 다른 모든 데이터를 선택합니다.
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)
'NOT IN'이 아니라'IS NOT IN'입니다. 'IS'는'IS NULL' 또는'IS NOT NULL'에서만 사용됩니다. – zerkms