powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Горизонтальный вывод связанных данных?
5 сообщений из 5, страница 1 из 1
Горизонтальный вывод связанных данных?
    #39180410
goodw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!

Есть такая структура:
abonent
id name field1 field2 field3...

phone
id code number type abonent_id

Надо выводить список абонентов с отображением их номеров телефонов в отдельной колонке через запятую.

Что будет быстрее и красивее?
1. Дергать для каждой строки запрос получающий список связанных записей из другой таблицы
2. Сделать SQL-функцию, делающую по сути тоже самое, что и в п.1
3. Получать отдельно список всех телефонов связанных со списком абонентов для данной страницы. Затем раскладывать в массив с соответствующими индексами и доставать оттуда по индексам элементов при выводе списка?
4. Какие еще есть способы?
...
Рейтинг: 0 / 0
Горизонтальный вывод связанных данных?
    #39180412
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodw,
это называется кросрепорт, и делается на клиенте на раз.

на стороне сервера - кростаб.

http://www.postgresql.org/docs/9.1/static/tablefunc.html
...
Рейтинг: 0 / 0
Горизонтальный вывод связанных данных?
    #39180509
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
не, в кросстаб колонки в динамике добавляются. Тут в одной колонке один ко многим через запятую.
...
Рейтинг: 0 / 0
Горизонтальный вывод связанных данных?
    #39180586
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123MasterZiv,
не, в кросстаб колонки в динамике добавляются. Тут в одной колонке один ко многим через запятую.

string_agg называется агрегатная функция.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Горизонтальный вывод связанных данных?
    #39180626
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,
да))
Код: sql
1.
2.
3.
4.
select
   xxxx_agg() as fffff
from t
join children_table
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Горизонтальный вывод связанных данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]