Re[2]: Оптимизация запросов [новичок]
От: koenjihyakkei Россия  
Дата: 06.12.14 11:15
Оценка:
Здравствуйте, 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

То есть все продукты, входящие в обе категории должны исключаться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.