Выборка из одной таблицы Mysql по опциям в другой

Есть две таблицы (товары и набор фильтров и значений фильтров для товаров). Нужно выбрать все товары, у которых есть во второй таблице заранее известные опции (id опций) с заранее известными значениями.

пример:
table products
id
brand
model
price

table specif
id_product
id_specif
specif_value

Например, выбрать всё из products, у которых в specif есть id_specif=555 со значением specif_value='val1' и id_specif=666 со значением specif_value='val2'

1 ответов


Судя по тегам, оператор join вам знаком. Так в чем же проблема?
Соединяйте таблицы по products.id = specif.id_product. Обращаю внимание, соединение join, а не left join, так как вам нужны только строки, у которых есть какое-то значение в specif.
Далее фильтруйте только нужные строки where (id_specif=555 and specif_value='val1') or (id_specif=666 and specif_value='val2').