Подскажите, как сделать выборку из базы.
Есть две таблицы:
1. таблица товаров
id | title | price | date
1 | название1 | 100 | дата1
2 | название2 | 200 | дата2
2. таблица с параметрами товаров
id | param_id | value | goods_id
1 | 10 | значение1 | 1
2 | 11 | значение2 | 1
3 | 10 | значение1 | 2
4 | 11 | значение
3 | 2
Можно ли сделать выборку товаров, одним запросом, попадающих под определенные условия - допустим стоимость товара больше 50 и у товара обязательно должны присутствовать параметры param_id = "10" со значением = "значение1" и param_id = "11" со значением = "значение2"
Делал так:
SELECT * FROM table_goods g INNER JOIN table_goods_params p ON g.id = p.goods_id WHERE g.price > '50' AND p.param_id IN (10,11) AND p.value IN ('значение1','значение2') GROUP BY g.id
Но при таком варианте в результат выборки попадает и второй товар (id = 2), хотя у него и есть параметр param_id = 11, но значение этого параметра =
значение3, а нужно чтобы присутствовали все указанные param_id и value.