Как сделать выборку товаров с параметрами?
Имеем две таблицы, одна с объявлениями, другая с параметрами. Вопрос как сделать выборку по одному или нескольким параметрам.
http://sqlfiddle.com/#!9/245ed3/200
Имеем две таблицы, одна с объявлениями, другая с параметрами. Вопрос как сделать выборку по одному или нескольким параметрам.
http://sqlfiddle.com/#!9/245ed3/200
Вроде работает:
SELECT b.id,b.name FROM board as b
LEFT JOIN options as o ON
o.item_id = b.id
WHERE
((o.option_id = 'model' and o.value = 'Lanos') or
(o.option_id = 'model' and o.value = 'Transit')) or
(o.option_id = 'cond' and o.value = 'Новый')
/*
(o.option_id,o.value) IN (('model','Lanos'),('cond','Б/у'))
*/
/*
(o.option_id = 'model' && o.value IN ('Lanos','Transit')) &&
(o.option_id = 'cond' && o.value IN ('Новый'))
*/
GROUP BY b.id;
/*
(o.option_id,o.value) IN (('model','Lanos'),('cond','Новый'))
*/
PS: не проверял что и как он выбирает, оставим тебе
У вас есть отбор по нескольким параметрам
WHERE
((o.option_id = 'model' && o.value = 'Lanos') || (o.option_id = 'model' && o.value = 'Transit')) &&
(o.option_id = 'cond' && o.value = 'Новый')