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




MySQL.RU - Webboard



Вернуться
Дурацкий запрос (Сумеречный мальчик) 21/09/2004 - 12:16:17
      Re: Дурацкий запрос (Alec) 21/09/2004 - 12:40:41
      Re: Дурацкий запрос (Сумеречный мальчик) 21/09/2004 - 13:17:40
      Re: Дурацкий запрос (Alec) 21/09/2004 - 14:24:21

> Original message text:
> From: Сумеречный мальчик - 21/09/2004 - 12:16:17
> Subject:Дурацкий запрос
> -----------------
> Народ, помогите!
>
> У меня есть 3 таблицы: products - продукты :), типа ИД, цена, имя, краткое инфо и т.п.
>
> products_op_val - дополнительные характеристики товара, сюда заносится номер характеристики, ИД продукта, значение характеристики, характеристик всего 5 (цена за м2, размер и т.д.). Ессно каждому товару могет соответствовать до 5 строк в этой таблице.
>
> А мне нужно сделать запрос для выбора всех ИДников продуктов у которых например: 10>=1ая характеристика>=1
> 2210>=2ая характеристика>=21
> 210>=3ая характеристика.
>
> Еслибы все этип доп. хар. были полями в таблице - все это решалось бы простым селектом, но доп. хар. в другой таблицы причем не в качестве полей, а в качестве строк!
>


From: Сумеречный мальчик - 21/09/2004 - 13:17:40
Subject:Дурацкий запрос
-----------------
Пример:

products

ИД | Имя | Цена
----------------------------
1 | Мясорубка |
2 | Конвертер |
3 | Ковш |
4 | Бубен |

Доп. Хар-ки

products_op_val

Номер Хар | ИД продукта | Значение
-------------------------------------------------
1 | 1 | 13
1 | 2 | 14
1 | 3 | 51
1 | 4 | 16
2 | 1 | 23
2 | 3 | 35
3 | 1 | 4
3 | 2 | 6
3 | 3 | 8
3 | 4 | 9


И допустим надо выбрать товары у которых 15>=1я хар>=1 и 25>=2я хар>=5 и 100>=3я хар>=1,

т.е. 2й и 4й продукты сразу отпадают, т.к. у них вообще нет 2 характеристики (ну это допустим не важно, т.к. на самом деле почти у всех продуктов будут все хар-ки)
3й тоже не подходит, т.к. у него 2я хар-ка >25, а подходит только первый.

Вот и нужен такой запрос, правда в реале доп. хар-к - 5.
Переделывать таблицу products и добавлять в нее эти хар-ки нельзя, поэтому они в отдельной таблице. Вот.

Была идея сделать этот запрос с использованием "проудктИД IN(запрос на получение всех продуктИД с n-ой хар попадающей в промежуток)", но говорят, что IN () подзапросы не поддерживает...


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

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

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



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