Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по результатам запроса / 1 сообщений из 1, страница 1 из 1
03.08.2013, 19:49:22
    #38354017
Rommimi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по результатам запроса
Здравствуйте. Делаю фасеточный фильтер, таблицы сделаны по модели EAV. Т.к. sphinx нужны уникальные ID, а в таблице связывания товара и атрибута прописаны не уникальные айди (айди продукта, айди свойства) и в результате из-за этого урезываются многие строки, решил делать на MySQL. Нужно написать запрос, который будет фильтровать результаты по предыдущему запросу. Т.е. если выбрал сначала категорию Apple, то выводятся свойства лишь относящиеся к Apple, дальше выбрал 8 гб и запрос выводит по условиям Apple и 8 ГБ. Сейчас сделал так: получаем ID продуктов, которые имеют выбранные свойства, и извлекаем свойства товаров, которые имеют товары помимо первого запроса, но при выборе двух и более свойств, выводятся все товары имеющие первое свойства и все товары имеющие второе. Помогите решить проблему, пожалуйста.

Код: sql
1.
2.
3.
4.
5.
SELECT DISTINCT id, entity_id, name 
FROM option_name as n 
LEFT JOIN option_value as v ON (v.option_id = n.id)  
WHERE category_id IN ('.$category_id.', 0) 
AND product_id IN (SELECT product_id FROM option_value WHERE option_id IN ('.implode(", ", $options).'))
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по результатам запроса / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]