powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / о в списке продуктов добавить текст категорий
4 сообщений из 4, страница 1 из 1
о в списке продуктов добавить текст категорий
    #39334923
mstdmstd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,
Нужно в списке продуктов добавить текст категорий через pd_product_category но на запрос
Код: plsql
1.
2.
3.
SELECT "pd_product".*, ( select pd_category.name  FROM "pd_category" ORDER BY pd_category.name  ) 
as category_name 
FROM "pd_product" INNER JOIN "pd_product_category" ON "pd_product_category"."product_id" = "pd_product"."id" 



получаю ошибку
авторSQL Error [21000]: ERROR: more than one row returned by a subquery used as an expression
org.postgresql.util.PSQLException: ERROR: more than one row returned by a subquery used as an expression

Гуглом я нахожу решения с использованием group by, что для меня не очень удобно
Нет ли возможности в PostgreSQL 9.3 для подзапроса
Код: plsql
1.
...() as category_name


написать функция принимающюю результаты подзапроса и строкой на выходе такого аналога mysql GROUP_CONCAT ?


Спасибо!
...
Рейтинг: 0 / 0
о в списке продуктов добавить текст категорий
    #39334934
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
о в списке продуктов добавить текст категорий
    #39335010
mstdmstd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось так:
Код: plsql
1.
2.
3.
4.
5.
SELECT "pd_product".*,  array_to_string(array_agg(  pd_category.name  ORDER BY pd_category.name   ),',') as category_name 
FROM "pd_product" 
   left JOIN "pd_product_category" ON "pd_product_category"."product_id" = "pd_product"."id" 
   left JOIN "pd_category" ON "pd_category"."id" = "pd_product_category"."category_id"   
  group by  pd_product.id



тестируя вроде правильно...
...
Рейтинг: 0 / 0
о в списке продуктов добавить текст категорий
    #39335082
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mstdmstd,

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


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