|
|
|
| Допустим есть таблица type
id type
В которую заносятся всевозможные характеристики товаров
Допустим есть таблица product_type
id id_product id_type
Под id_product записывается номер товара в базе
Под id_type некая характеристика товара из таблицы type
Можно ли каким нибудь спосробом отсортировать товары сразу по нескольким характеристикам
Что то навроде этого, но это не работает
"SELECT id_product FROM product_type WHERE id_type='5' and id_type='13'"
То есть как можно сделать вертикальную выборку? | |
|
|
|
|
|
|
|
для: renat
(14.11.2013 в 18:30)
| | Или, если это сделать не возможно, подскажите, как можно организовать выбор товара по нескольким параметрам, т.е как делают интернет магазины с подбором характеристик профессионалы?
Сейчас я использую массивные таблици с множеством столбцов, где в каждый товар заношу конкретную характеристику. Мои таблицы выглядят на вроде этой:
№, название, страна, цвет, призводитель, и пр.
Выборку делаю так:
"SELECT id FROM product WHERE страна='5' and цвет='13' and призводитель='3' и т.д."
Проблема в том, что различных товаров множество и под каждый вид товара приходится делать индивидуальную таблицу. Хотелось бы организовать это проще, как в предыдущем сообщение, но не получается. | |
|
|
|
|
|
|
|
для: renat
(14.11.2013 в 22:19)
| | Характеристики, их именование, должны находиться в отдельной таблице, например
property_id property_name
1 Размер
2 Цвет
....
и т.д., сколько угодно
Описание этих характеристик находит в другой таблице, в которой по мимо этого есть связи с таблицей именования характеристик и объектом обладающим характеристиками, то есть
object_id property_id property_description
1 1 XXL
1 2 Зеленый
2 1 XL
2 2 Синий
.....
Таблица объектов, не важно что это, товары или абстракция, только связана по object_id с таблицей описания характеристик, и чтобы получить все, нужно при обращении к таблице объектов делать запрос к таблице описания характеристик и их наименований (объединение LETF JOIN).
Вы промахнулись с разделом, это вопросы баз данных, и в разделе о них можете найти более подробное описание. | |
|
|
|
|
|
|
|
для: renat
(14.11.2013 в 18:30)
| | Можно сортировать по нескольким полям, причем для каждого указать порядок сортировки именно по этом полю. В этом случае совпадающие значения по первому полю будут отсортированы по второму полю:
SELECT * FROM articles ORDER BY a_title ASC, a_date DESC
|
(Если Вы работаете с базой данных, то это другой раздел Форума). | |
|
|
|