Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pgsql _SELECT to_jsonb() with INNER JOIN / 4 сообщений из 4, страница 1 из 1
22.07.2020, 21:52
    #39982858
Alex_Wong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pgsql _SELECT to_jsonb() with INNER JOIN
В функции pgsql такой запрос даёт ошибку.
Если удалить:
to_jsonb(p.user_name) и to_jsonb(k.user_name)
то сработает.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT jsonb_agg(to_jsonb(idm) || to_jsonb(fk_a) || to_jsonb(p.user_name) || to_jsonb(fk_b) || to_jsonb(k.user_name)) FROM
(select idm, fk_a, p.user_name, fk_b, k.user_name
        FROM public.msg as m
                           INNER JOIN public.tb p ON m.fk_a = p.id_user
                           INNER JOIN public.tb k ON m.fk_b = k.id_user
        WHERE fk_a = 1 AND k.id_user = 3 OR p.id_user = 3 AND fk_b = 1 ORDER BY idm ASC)
	as tbl
;

ERROR:  missing FROM-clause entry for table "p"



Читал в направлении JOIN LATERAL jsonb_array_elements(), - не уверен что по теме .. не получилось .. Подскажите, плиз.
...
Рейтинг: 0 / 0
22.07.2020, 23:06
    #39982880
Swa111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pgsql _SELECT to_jsonb() with INNER JOIN
Alex_Wong,

не нужно указывать таблицы p. и k. так как они уже вне видимости

Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT jsonb_agg(to_jsonb(idm) || to_jsonb(fk_a) || to_jsonb(p_user) || to_jsonb(fk_b) || to_jsonb(k_user)) FROM
(select idm, fk_a, p.user_name as p_user, fk_b, k.user_name as k_user
        FROM public.msg as m
                           INNER JOIN public.tb p ON m.fk_a = p.id_user
                           INNER JOIN public.tb k ON m.fk_b = k.id_user
        WHERE fk_a = 1 AND k.id_user = 3 OR p.id_user = 3 AND fk_b = 1 ORDER BY idm ASC)
	as tbl
...
Рейтинг: 0 / 0
22.07.2020, 23:28
    #39982887
Alex_Wong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pgsql _SELECT to_jsonb() with INNER JOIN
Swa111,
а как получить значения:
to_jsonb(p.user_name) и to_jsonb(k.user_name)
...
Рейтинг: 0 / 0
22.07.2020, 23:35
    #39982888
Alex_Wong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pgsql _SELECT to_jsonb() with INNER JOIN
Swa111, круто, Ваш вариант работает, - спасибо.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pgsql _SELECT to_jsonb() with INNER JOIN / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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