Извините за смутное название, но я просто не знаю подходящих слов, чтобы описать это.
У меня есть этот запрос, который превращает кучу столбцов в объект, который работает просто отлично:
SELECT row_to_json(t)
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t
Однако я хочу сгруппировать объекты, которые попадают в определенную категорию, в массив. Эта категория определяется четвертой колонкой внутри моей таблицы с именем «cargoProductId». Массив должен иметь значение «cargoProductId» в качестве ключа. Так:
"961":[
{"type":"Feature",....
{"type":"Feature",....
{"type":"Feature",....
],
"962":[
.....
]
Так что я боролся с этим последние полтора часа или около того. Я действительно понятия не имею, как это сделать. Это то, что я имею сейчас:
SELECT array_agg(row_to_json(t))
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t) FROM "bgbCargoMinardJSON" GROUP BY "carProductId"
источник
{"3565": "[{\"type\":
меня есть апостроф перед каждой скобкой и косая черта перед каждым апострофом. У меня было это раньше, и это всегда что-то с типом данных. Однако, по правде говоря, я не совсем понимаю, как работает написанный вами запрос, и поэтому я не знаю, где и как это исправить.json_agg(to_json(items.*)) as "items"