Объединения таблиц для вывода записей и прекрепленных к ней тегов

Сенсей

Новичок
Объединения таблиц.

Есть таблица с записями в блогах. Есть таблица тегов. И есть таблица связи - блог_id -> tag_id

Теперь нужно вывести записи в блогах и к каждой записи вывести теги которые привязаны к ней.

2-мя запросами делается легко.

SELECT blog_id, title, text from blogs bla bla bla

$blog_id

SELECT a.tag_id, a.tag_title from tags a, tags_data b where a.tag_id = b.tag_id and b.blog_id = $blog_id

теперь представим что я вывожу ленту записей ... то есть если у нас 10 записей выводятся - то это еще + 10 запросов для получения прикрепленных тегов.

как можно объединить таблицы и можно ли вообще для получения нужного результата? я то как бы могу объединить.. но тогда вывод записей данных будет дублироваться по количеству прикрепленных к нему тегов...

подскажите куда копать :)
 

Сенсей

Новичок
Объединения таблиц для вывода записей и прекрепленных к ней тегов

Есть таблица с записями в блогах. Есть таблица тегов. И есть таблица связи - блог_id -> tag_id

Теперь нужно вывести записи в блогах и к каждой записи вывести теги которые привязаны к ней.

2-мя запросами делается легко.

SELECT blog_id, title, text from blogs bla bla bla

$blog_id

SELECT a.tag_id, a.tag_title from tags a, tags_data b where a.tag_id = b.tag_id and b.blog_id = $blog_id

теперь представим что я вывожу ленту записей ... то есть если у нас 10 записей выводятся - то это еще + 10 запросов для получения прикрепленных тегов.

как можно объединить таблицы и можно ли вообще для получения нужного результата? я то как бы могу объединить.. но тогда вывод записей данных будет дублироваться по количеству прикрепленных к нему тегов...

подскажите куда копать :)
 

zerkms

TDD infected
Команда форума
ну будет дублироваться, и что? :)

при формировании результата выборки сравнивай $prev_news_id и текущий id...

если тебе не нужно ничего потом делать с тегами - то можешь GROUP_CONCAT(), ну или регой по нему пройтись...
 

Gas

может по одной?
извратиться с GROUP_CONCAT

p.s. писал в одну тему, сообщение появилось в клоне подобной темы, мистика :)
 
Сверху