Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как одним запросом вытянуть все теги для обьекта? 
:(
    Опции темы
ST_Falcon
Дата 26.7.2007, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Если есть таблица с обьектами (например с статьями) и еще одна таблица с тегами для этих обьектов (соотношение один ко многим). 
Как сделать выборку, чтобы в результате получить список статей вместе с тегами?

пусть будут таблицы:
=====articles======
id|name|text

=====tags========
id|ar_id|name

кто то пробовал такое делать?

PM MAIL ICQ   Вверх
Rodman
Дата 26.7.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



а каким образом они связаны не понятно!?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ST_Falcon
Дата 26.7.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



tags.ar_id=articles.id
PM MAIL ICQ   Вверх
Rodman
Дата 26.7.2007, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



Код

SELECT articles.name_articles, articles.text_articles, tags.name_tag
FROM tags INNER JOIN articles ON tags.ar_id = articles.ID;


PS: имена полей подправил (так как это зарегеные слова SQL)... и тебе советую... 

Пробуй
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ST_Falcon
Дата 26.7.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Rodman, это ясно. но так я получу по несколько строк для каждой статьи. в которых будут отличаться только теги. так?
а как получить можно все теги получить в одной строке? как набор полей или как простую строку.
PM MAIL ICQ   Вверх
muzer
Дата 26.7.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 387
Регистрация: 31.8.2006

Репутация: 30
Всего: 31



В общем виде (лнь названия полей и таблиц переписывать):
Код

SELECT a.id, GROUP_CONCAT(tag) FROM articles a INNER JOIN tags t ON a.id=t.id GROUP BY a.id


Но обратите внимание, что по умолчанию длина результата функции GROUP_CONCAT не более 1024 байт, можно поменять переменную group_concat_max_len, например поставить 0.
PM WWW   Вверх
ST_Falcon
Дата 27.7.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



muzer, спасибо!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.