|
MySQL.RU - Webboard
Вернуться
Выборка, которая поставила меня в тупик :( (mcfly) 01/07/2013 - 06:00:45
Re: Выборка, которая поставила меня в тупик :( (Akina) 01/07/2013 - 09:09:14
> Original message text:
> From: mcfly - 01/07/2013 - 06:00:45
> Subject:Выборка, которая поставила меня в тупик :(
> -----------------
> Здравствуйте!
>
> Есть две таблицы:
> :: book_tags - отношения книг и тэгов у книг
> book_id
> tag_id
>
> :: tags - таблица тегов книг
> id
> name
>
> Задача: Надо получить, желательно одним запросом (так как таблицы большие и не хотелось бы тратить время на получение), список идентификаторов книг, которые имеют указанные теги. То есть если вы указываете два тега, то надо получить книги у которых есть эти два тега. Теги должны задаваться именем, то есть в запросе надо указывать теги не идентификаторми, а именами.
>
> Если делать выборку OR, то все легко и просто, а для AND (чтобы все теги присутствовали в книге) запрос не пашет :(
>
> Спасибо!
>
From: Akina - 01/07/2013 - 09:09:14
Subject:Выборка, которая поставила меня в тупик :(
-----------------
И что тут может ставить в тупик?
SELECT b.book_id
FROM book_tags b, tags t
WHERE b.tag_id = t.id
AND t.name IN ('tag1', 'tag2')
GROUP BY b.book_id
HAVING COUNT([DISTINCT] t.name) = 2
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
42722
|
|