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




MySQL.RU - Webboard



Вернуться
Составление сложного запроса (Sergey) 25/09/2010 - 18:42:54
      Re: Составление сложного запроса (Hamyachok) 27/09/2010 - 12:21:55
      Re: Составление сложного запроса (Sergey) 30/09/2010 - 15:54:24

> Original message text:
> From: Sergey - 25/09/2010 - 18:42:54
> Subject:Составление сложного запроса
> -----------------
> Здравствуйте!
>
> Есть такая структура базы с 3-мя таблицами :
> http://habreffect.ru/files/4de/72c61c308/mysql.png
>
> Отношения между products и attribute_values, attributes и attribute_values - один ко многим.
>
> По сути: Каждый продукт имеет атрибут. Значение для определенного атрибута берется из attribute_values.
>
> Необходимо составить такой запрос, чтобы можно было выбрать несколько значений из attribute_values, т.е. к примеру есть продукт "Ноутбук Samsung" (product_id=1). У него есть 3 атрибута (они записаны в табличку attribute_values) :
> id________value_______attribute_id_______product_id
> 1_________Core 2 Duo______1_______________1
> 2_________500_____________2_______________1
> 3_________12______________3_______________1
>
> В attributes записано следующее :
> id_________name___________unit________category_id.....
> 1__________Процессор______NULL________1
> 2__________Жесткий диск___GB__________1
> 3__________Экран__________дюймы_______1
>
> Необходимо выбрать все продукты отвечающие требованиям - Экран=12 дюймов, Жесткий диск=500 GB.
>
> Надеюсь объяснил ясно. Помогите плз.
>
> Спасибо.
>


From: Hamyachok - 27/09/2010 - 12:21:55
Subject:Составление сложного запроса
-----------------
select p.`Name`, a_v.`*`, a.`value` from `products` as p inner join `attributes` as a on (p.`id` = a.`product_id`) inner join `attribute_value` as a_v on (a.`attribute_id` = a_v.`id`) where p.`id` = (переменная указывающая на продукт);
Попробуйте, если не получиться отпишитесь, еще что-нибудь придуаем)))


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

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

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



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