Новости
Документация
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

> Original message text:
> 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
> Помогите поправить запрос пожалуйста. Уже не много дней пытаюсь понять как сделать.
>


From: Akina - 28/10/2012 - 22:38:51
Subject:Помогите правильно сформировать запрос
-----------------
Группы значений объединяются по AND. Внутри группы - по OR.


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

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

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



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