@Ultraice

Как сделать выборку из таблицы, где значения попадают под несколько параметров?

Есть две таблицы:
1. таблица товаров
id | title | price | date
1 | название1 | 100 | дата1
2 | название2 | 200 | дата2
3 | название3 | 300 | дата3

2. таблица с параметрами товаров
id | param_id | value | goods_id
1 | 10 | значение1 | 1
2 | 11 | значение2 | 1
3 | 10 | значение1 | 2
4 | 10 | значение3 | 3

Можно ли сделать выборку товаров, одним запросом, попадающих под определенные условия - допустим стоимость товара больше 50 и у товара обязательно должны присутствовать параметры param_id = "10" со значением = "значение1" и param_id = "11" со значением = "значение2"

В похожем вопросе нашел решение, но когда нужно найти товары
стоимость товара больше 50
и у товара param 10 = значение1 или param 10 = значение3
и param_id = "11" со значением = "значение2"

SELECT g.* 
FROM table_goods g
    JOIN table_goods_params p1 ON p1.goods_id = g.id AND p1.param_id = 10 AND p1.value = "значение1"
    JOIN table_goods_params p2 ON p2.goods_id = g.id AND p2.param_id = 11 AND p2.value = "значение2"
WHERE g.price > '50'
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
romy4
@romy4
Exception handler
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы