Как сделать выдачу только по пересечениям шаблона поиска?
Не могу разобраться с запросом, как сделать его правильным?
Вот пример:
SELECT DISTINCT(`items_id`)
FROM `items`
LEFT JOIN `rubric` ON `rubric`.`items` = `items_id`
LEFT JOIN `brands` ON `brands`.`items` = `items_id`
LEFT JOIN `theme` ON `theme_id_items` = `items_id`
WHERE
(`rubric`='15' OR `rubric`='46' OR `rubric`='47' OR `rubric`='49')
AND
(
(`theme_id_value`='1408697045dizel' AND `theme_id_theme`='1')
AND
(`theme_id_value`='1408735817ruchnaya' AND `theme_id_theme`='3')
AND
(`theme_id_value_int` >= '100000' AND
`theme_id_value_int` <= '200000' AND
`theme_id_theme`='9')
)
Мне надо сделать так, чтобы выдавало только пересечения по шаблонам поиска, т.е. есть некий шаблон с базой забитых данных, я в форме выбираю определенные параметры, и нужно, чтобы выдавало только пересечения в запросе.
theme_id_value
и theme_id_value_int
- это поля для выборки, а вот theme_id_theme
- это сам шаблон, отвечающий за некий фильтр. Как сделать так, чтобы запрос стал рабочим?
Источник: Stack Overflow на русском