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




MySQL.RU - Webboard



Вернуться
Запрос на выборку по привязанным аттрибутам (// And) 24/02/2012 - 17:13:56
      Re: Запрос на выборку по привязанным аттрибутам (Akina) 25/02/2012 - 01:05:05
      Re: Запрос на выборку по привязанным аттрибутам (// And) 25/02/2012 - 03:09:06



From: // And - 24/02/2012 - 17:13:56
Subject:Запрос на выборку по привязанным аттрибутам
-----------------
Приветствую!

Возникла проблема при написании sql-запроса. Запрос следующего характера.

Необходимо выбрать людей из таблицы, которым привязаны атрибуты и их значения во второй.

Пример таблиц:

humans:
human_id name age
1 Bob 42
2 Jack NULL

human_attributes:
human_id attribute_id value
1 1 'No'
1 2 'Yes'
2 1 'Sure!'

Например, необходимо выбрать людей из humans, у которых есть атрибут с id 1 и значением 'No', и атрибут с id 2, и значением 'Yes'

Навскидку такое решение:
SELECT humans.*
FROM humans
INNER JOIN human_attributes ha1 ON humans.human_id = human_attributes.human_id
INNER JOIN human_attributes ha2
ON humans.human_id = human_attributes.human_id
WHERE
(ha1.attribute_id = 1 AND ha1.value = 'No')
AND
(ha2.attribute_id = 2 AND ha2.value = 'Yes')

, что выглядит извращенно, что ли.

Какое решение было бы подходящим?


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

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

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



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