Есть таблица с такими полями: product_id и value_id
Как видно из названий, связка товара и некого значения.
Например, есть такие значения:
6 -- 1
6 -- 2
8 -- 3
8 -- 2
9 -- 1
9 -- 2
7 -- 1
Нужно выбрать product_id по полю value_id, по значениям 1 и 2 так чтобы условия значений складывались, 1 + 2, т.е. должно выбрать product_id 6 и 9 а остальные отсеять.
Делал такой запрос:
SELECT * FROM `table_name` WHERE `value_id` = 1 AND `value_id` = 2 GROUP BY `product_id`
Вообще ничего не выбирает.
А вот с такими:
SELECT * FROM `table_name` WHERE `value_id` = 1 OR`value_id` = 2 GROUP BY `product_id`
или
SELECT * FROM `table_name` WHERE `value_id`IN (1,2) GROUP BY `product_id`
Выбирает лишнее.
Я так понимаю что я чего-то ещё не знаю ![Радость Радость](./im/emoticons/biggrin24.gif) , в sql не силён.
Помогите правильно написать условие.
|