Добрый вечер.
Есть две таблицы
shop_category_products
id product_id category_id
1 100 1353
2 101 1354
3 102 1354
4 103 1355
shop_product_features
id product_id feature_value_id
1 100 48
2 100 49
3 100 50
4 101 48
5 101 49
6 101 50
7 102 55
Генерация запроса идет на пыхе, перебором из массива.
Я получаю:
`shop_category_products.category_id` = 1353,
`shop_product_features.feature_value_id` = 48,
`shop_product_features.feature_value_id` = 49,
Я должен получить все `product_id` (в этом примере это 100), которые входят в `shop_category_products.category_id` = 1353 если в таблице shop_product_features у product_id(100) `feature_value_id`=48 и `feature_value_id` = 49
У меня тут явно ошибка, он выбирает или один feature_value_id или второй, а что бы был и там и там, так не получается.
SELECT shop_category_products.product_id FROM shop_category_products, shop_product_features WHERE shop_category_products.category_id = 1353 AND shop_category_products.product_id = shop_product_features.product_id AND (shop_product_features.feature_value_id = 48) AND (shop_product_features.feature_value_id = 49)
Так как запрос динамический, в массиве обязательно получаю один динамический `shop_category_products.category_id` статический количество и значение нескольких `shop_product_features.feature_value_id` и надо получить все подходящие `product_id`
Возможно ли решить этот вопрос средствами mysql? Если да, то как это лучше делать? Одним огромным запросом, с одним подключением к бд, или сотнями маленьких? Заранее спасибо за ответ.
PS: Если криво оформил или некорректно сформировал вопрос, прошу извинить, не привык писать на форумах, да и голова в пол третьего ночи уже плохо работает...
Отредактированно OTV (16.08.2018 02:44:18)