Здравствуйте, BlackEric, Вы писали:
BE>А написать
BE>BE> Select * from table where
BE>(product_id in category_1) and (product_id not in category_1)
BE>
Спасибо, попробовал, но результат немного не тот что нужен:
http://sqlfiddle.com/#!2/5b105/7/0
CREATE TABLE test
(
category_id int,
product_id int
);
INSERT INTO test
(category_id, product_id)
VALUES
(1, 10),
(1, 11),
(1, 12),
(1, 13),
(2, 12),
(2, 13),
(2, 14),
(2, 15),
(2, 16);
SELECT * FROM test WHERE (category_id IN (1,2)) AND (category_id NOT IN (2))
Результат:
CATEGORY_ID PRODUCT_ID
1 10
1 11
1 12
1 13
а нужен такой
CATEGORY_ID PRODUCT_ID
1 10
1 11
То есть все продукты, входящие в обе категории должны исключаться.