powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сгенерить строку в столбце
6 сообщений из 6, страница 1 из 1
Сгенерить строку в столбце
    #39384138
Andrew B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код:
Код: plsql
1.
2.
3.
4.
5.
6.
SELECT *
FROM machines m
JOIN users u3 ON u3.id = m.service_technician_id
JOIN user_roles ur3 ON ur3.id = u3.role_id
JOIN json_array_elements(ur3.permissions::json) ur3p ON ur3p::text::int > 1
JOIN permissions p1 ON p1.id = ur3p::text::int



Как можно вместо умножения количества строк сгенерить на основе permissions для каждой роли строку в отдельном столбце, где будет формат "[perm1, perm2]"?
...
Рейтинг: 0 / 0
Сгенерить строку в столбце
    #39384144
grgdvo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew B.,

Код: sql
1.
2.
SELECT string_agg(field, ',') 
FROM ...
...
Рейтинг: 0 / 0
Сгенерить строку в столбце
    #39384170
Andrew B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grgdvo,

круто, а как добавить скобки в начале и конце?
...
Рейтинг: 0 / 0
Сгенерить строку в столбце
    #39384180
Andrew B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew B.,

Нашел:
SELECT '[' || string_agg(p1.name, ',') || ']'
...
Рейтинг: 0 / 0
Сгенерить строку в столбце
    #39384237
Andrew B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew B.,

еще вопрос, данный запрос работает, но при добавлении любых join - выводит столбцы без результата
SELECT m.id, str
FROM machines m, (
SELECT '[' || string_agg(p1.name, ',') || ']'
FROM machines m
JOIN users u3 ON u3.id = m.service_technician_id
JOIN user_roles ur3 ON ur3.id = u3.role_id
JOIN json_array_elements(ur3.permissions::json) ur3p ON ur3p::text::int > 1
JOIN permissions p1 ON p1.id = ur3p::text::int
) str
...
Рейтинг: 0 / 0
Сгенерить строку в столбце
    #39384380
Andrew B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew B.,

Разместил select в select и заработало
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сгенерить строку в столбце
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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