SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 23.12.2012 18:21:18

Edisson
Участник
Откуда: Yekaterinburg
Зарегистрирован: 22.10.2009
Сообщений: 15

организация запроса через третью таблицу

связь организована через дополнительную таблицу и тут у меня компетенции не хватает как организовать запрос.
суть в том что к объекту (запись в таблице object) привязан список статей.
чтобы получить список номеров (id) привязанных статей к объекту, надо сначала заглянуть в таблицу list_articles
выбрав необходимые записи и пройдя по номерам выбрать уже конкретные имена из таблицы articles под конкретным номером.

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

но хотелось бы у экспертов поинтересоваться как сделать один более сложный запрос, чтобы выполнить большую часть этой задачи не разбивая на простые запросы?

на символической схеме показана связь того, что объяснил выше, что за чем необходимо вытягивать.

другими словами:
таблица object - к её id привязаны записи в таблице list_articles к полю id_object

т.е. записей с одинаковым id_objeсt может быть несколько.

далее необходимо, пробежав по выбранным записям, взяв значения поля id_articles
выбирать по ним записи уже из таблицы articles: беря значения поля name и оформляя в список через запятую.

этот самый список имен статей собсно и привязан к объекту (требуется выводить в отчете)

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

спасибо!


Прикрепленные файлы:
Attachment Icon схема статей.jpg, Размер: 164,700 байт, Скачано: 455

Неактивен

 

#2 24.12.2012 05:54:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: организация запроса через третью таблицу

select group_concat(name) from articles a join list_articles l on a.id=l.id_articles where id_object=...

Неактивен

 

#3 24.12.2012 11:12:35

Edisson
Участник
Откуда: Yekaterinburg
Зарегистрирован: 22.10.2009
Сообщений: 15

Re: организация запроса через третью таблицу

vasya написал:

select group_concat(name) from articles a join list_articles l on a.id=l.id_articles where id_object=...

vasya, большое спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson