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