У меня есть база данных с 3 таблицами:
product (id, name, price, ...)
product_option (id, product_id, option_id)
option (id, value)
продукты имеют много вариантов
Например, мне нужно найти продукт с опцией A и с опцией B, а не продукт с опцией A.
Я использую что-то вроде этого:
select * from product
left join product_option on product_option.product_id = product_id
where product_option.option_id in (1,2,3)
and product_option.option_id in (4)
group by product.id
Конечно, результат всегда пуст.
Мне нужны эти продукты с option_id (1 или 2 или 3) и 4
Как я могу это сделать?