Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Помогите правильно сформировать запрос (dropoff) 28/10/2012 - 19:20:10
      Re: Помогите правильно сформировать запрос (Akina) 28/10/2012 - 22:38:51
      Re: Помогите правильно сформировать запрос (dropoff) 28/10/2012 - 23:07:15



From: dropoff - 28/10/2012 - 19:20:10
Subject:Помогите правильно сформировать запрос
-----------------
Доброго времени суток.

Никак не могу понять, как происходит отсеивание в Я.М.
К примеру http://market.yandex.ru/guru.xml?CMD=-RR=9,0,0,0-VIS=70-CAT_ID=160043-EXC=1-PG=10&hid=91491
В правой колонке выбираю "Тип" и жму "смартфон/коммуникатор"
Мне вернуло 392 товара
Далее, там же выбираю "Тип" "телефон"
и мне вернуло 908 товаров.
Т.е. в параметре "Тип" все его значения суммируются.

Но если я выберу "Тип корпуса" -> "классический", то мне вернет 775 товаров.
Т.е. он отсеял товары, которые не совпали.
Но при этом, если я выберу еще "Тип корпуса" -> "раскладушка", то вернет 815 товаров.

Получается так, что параметры суммируют значения друг-друга, но отсеивают среди других.

У меня сейчас выборка только по самим значениям. Т.е. не по "Тип", а по "телефон"
Условие запроса собираю в начале в массив (это если есть $vals)

foreach($vals AS $k => $v)
{
$add[] = " p.pi IN (
SELECT params_pi FROM products_params WHERE param_pi = p.pi AND param_vals = '".(int)$v."'
) ";
}


p.pi - это ID товаров
params_pi - это ID товаров которые связаны с значениями параметров.

И так при каждом выборе значения, например "Тип корпуса" -> "классический" + "раскладушка"....
ID самих параметров я не использую, так как не нужно было. Но сейчас понял, что без них никак.

И вот никак не могу понять как фильтровать так же как на маркете.

Мне помогли немного и написали кода http://pastie.org/4907145
Пробовал делать, в итоге видимо запрос не правильный.
Пример http://sqlfiddle.com/#!2/0e3f7/3
Помогите поправить запрос пожалуйста. Уже не много дней пытаюсь понять как сделать.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
41822



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |