Использую СУБД Postgresql, есть таблица
https://www.db-fiddle.com/f/3ERqNCRRXJh5yEJvDtJMQf/0
CREATE TABLE forms (
id serial PRIMARY KEY,
account int not null,
author text,
doc int NOT NULL,
users text[]
);
нужно получить результат следующего вида
author : {account: [users]}
insert into forms(account, author, doc, users) values
(1, 'Иванов', 3, array['Петя', 'Вася']),
(1, 'Иванов', 3, array['Иван']),
(2, 'Иванов', 3, array['Иван']),
(2, 'Сергеев', 3, array['Павел']),
(2, 'Сергеев', 3, array['Роман']),
(1, 'Сергеев', 3, array['Коля' , 'Дима'])
для предыдущего набора должны получить такой результат
'Иванов': {1: ['Петя', 'Вася', 'Иван'], 2: ['Иван']},
'Сергеев': {1: ['Коля' , 'Дима'], 2: ['Павел', 'Роман']}
Нужно написать запрос, который вернет результат с такой структурой, чтобы потом по минимуму в коде формировать такой словарь.
Нужна конструктивная идея как написать такой запрос