powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Результат подзапроса в ячейку
5 сообщений из 5, страница 1 из 1
Результат подзапроса в ячейку
    #39460511
bulba_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени

не то что бы проблема, скорее спортивный интерес:

есть таблица, например, с категориями интернет-магазина и таблица с товарами (связь по cat_id)

можно ли при селекте категорий добавить к каждой поле products с jsonb массивом продуктов этой категории?

Код: sql
1.
2.
3.
4.
5.
CREATE TABLE categories
(
    id INT,
    name VARCHAR(200)
);



Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE products
(
    id INT,
    name VARCHAR(200),
    cat_id INT
);
...
Рейтинг: 0 / 0
Результат подзапроса в ячейку
    #39460519
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bulba_man,

Разумеется.
...
Рейтинг: 0 / 0
Результат подзапроса в ячейку
    #39460528
bulba_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido,

а не натолкнёте на решение? в сторону чего смотреть?
...
Рейтинг: 0 / 0
Результат подзапроса в ячейку
    #39460547
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bulba_man,

Так и делаете: к каждой категории добавляете массив JSONB с товарами.

Чего тут думать? Трясти сильнее нужно.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
WITH 
product AS (
      SELECT 1 AS id, 'ласты' AS name, 4 AS cat_id
UNION SELECT 2 AS id, 'тапки' AS name, 4 AS cat_id
UNION SELECT 3 AS id, 'коньки' AS name, 4 AS cat_id
UNION SELECT 4 AS id, 'лыжи' AS name, 2 AS cat_id
UNION SELECT 5 AS id, 'палатка' AS name, 2 AS cat_id
),
cat AS (
      SELECT 4 AS id, 'товары для дома' AS name
UNION SELECT 2 AS id, 'скобяные товары' AS name
UNION SELECT 1 AS id, 'пендык' AS name
)

SELECT *,
       (SELECT jsonb_agg(row_to_json(t2.*)) FROM product t2 WHERE t2.cat_id = t1.id) AS jsonb
FROM cat t1;


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


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