Выборка по опциям?

seva2

Партнер PHPClub.ru
Выборка по опциям?

PHP:
select p.products_id, p.manufacturers_id, m.model, p.products_image, p.products_price, pd.products_name from products_properties as pr, products_prop_options_values as pv, products as p, model as m, products_to_categories as cat, products_description as pd where m.cid=p.products_id and cat.products_id =p.products_id and p.products_id=pd.products_id and pr.products_id=p.products_id and ( (pr.options_id IN ("110") or (pr.options_id IN ("317")) and pr.options_values_id="31") and pv.products_options_values_id=pr.options_values_id and (p.products_price BETWEEN '0' AND '99999') and cat.categories_id='11' and p.products_status = '1' group by p.products_id having count(distinct pr.options_id) = 1
Выташить продукты у который
либо
pr.options_id =110

либо
pr.options_id=317
соответствовал
pr.options_values_id="31"


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

Так вот надо выташить продукты, у которые есть либо та либо другая опция, и значение было бы 31!

Опций может быть сколько угодно!
 

seva2

Партнер PHPClub.ru
Если написать
In("110", "317")
То это будет означать и ТО и ТО

А мне надо или то или то
 

kruglov

Новичок
Если написать
In("110", "317")
То это будет означать и ТО и ТО
Чево? Как это функция может проверять одно число на равенство одновременно с двумя другими разными?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Скорее всего ТС имеет ввиду xor.
Ждем коментариев и пояснений.
 

kruglov

Новичок
Mr_Max
Я думаю, что вряд ли, ибо физического смысла в этом немного, но ждем.
 
Сверху