sol_los
Мой дом здесь!
- Регистрация
- 17 Окт 2011
- Сообщения
- 424
- Реакции
- 278
- Автор темы
- #1
возможно не могу верно сформулировать оттого у самого и не получается сделать выборку
имеется таблица
id_feature id_product id_feature_value
12 14500 135
13 14500 185
14 14500 107
15 14500 180
16 14500 360
в ней множество таких продуктов
необходимо получить id_product с такими же id_feature и id_feature_value как у 14500 но не все,а только те id_feature которых мы задаем.
на php изначально набросал вот так, как бы это все дело сократить?
имеется таблица
id_feature id_product id_feature_value
12 14500 135
13 14500 185
14 14500 107
15 14500 180
16 14500 360
в ней множество таких продуктов
необходимо получить id_product с такими же id_feature и id_feature_value как у 14500 но не все,а только те id_feature которых мы задаем.
на php изначально набросал вот так, как бы это все дело сократить?
PHP:
$idFeature1 = 12;
$idFeature2 = 13;
$idFeature3 = 11;
$productId = 14500;
$idValueFeature1 = Db::getInstance()->executeS('SELECT `id_feature_value` FROM `'._DB_PREFIX_.'feature_product` WHERE `id_product` = '.$productId.' AND `id_feature` = '.$idFeature1.'');
$idValueFeature2 = Db::getInstance()->executeS('SELECT `id_feature_value` FROM `'._DB_PREFIX_.'feature_product` WHERE `id_product` = '.$productId.' AND `id_feature` = '.$idFeature2.'');
$idValueFeature3 = Db::getInstance()->executeS('SELECT `id_feature_value` FROM `'._DB_PREFIX_.'feature_product` WHERE `id_product` = '.$productId.' AND `id_feature` = '.$idFeature3.'');
$idSimilarProduct = Db::getInstance()->executeS('SELECT DISTINCT `id_product` FROM `'._DB_PREFIX_.'feature_product`
WHERE
`id_feature_value` IN ('.$idValueFeature1[0]["id_feature_value"].', '.$idValueFeature2[0]["id_feature_value"].', '.$idValueFeature3[0]["id_feature_value"].') AND `id_feature` IN ('.$idFeature1.', '.$idFeature2.', '.$idFeature3.')
');