|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
17354
|
|