агрегатные строки как jsonb в postgres - PullRequest
0 голосов
/ 04 сентября 2018
key            | value            | col
----------------------------------------
color          | red              | g1
color          | blue             | g2
contrast       | {'l':123456}     | g1
setting        | srnew            | g2
contrast       | {'s':123456}     | g1    

key        | value                    | col
---------------------------------------------
color      | ['red']                  | g1
color      | ['blue']                 | g2
contrast   | [{'l':123456}, {'s':456}]| g1
setting    | ['srnew']                | g2

Как бы я агрегировал первую таблицу во вторую таблицу?

Столбец value относится к типу jsonb. Я хочу, чтобы столбец результата value тоже был jsonb.

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете попробовать использовать array_agg do group by concat, затем array_to_json to json array.

SELECT array_to_json(array_agg(value)) 
FROM t
group by key,col
...