Sinto muito pelo título vago, mas simplesmente não sei as palavras certas para descrever isso.
Eu tenho essa consulta que transforma um monte de colunas em um objeto que funciona muito bem:
SELECT row_to_json(t)
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t
No entanto, quero agrupar os objetos que se enquadram em uma determinada categoria em uma matriz. Esta categoria é definida por uma quarta coluna dentro da minha tabela chamada "cargoProductId". A matriz deve ter o valor de "cargoProductId" como a chave. Então:
"961":[
{"type":"Feature",....
{"type":"Feature",....
{"type":"Feature",....
],
"962":[
.....
]
Então, tenho lutado com isso nas últimas 1 hora e meia. Eu realmente não tenho idéia de como fazer isso. Isto é o que tenho agora:
SELECT array_agg(row_to_json(t))
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t) FROM "bgbCargoMinardJSON" GROUP BY "carProductId"
Se você estiver no 9.4, algo assim pode ser o que você procura:
Estendendo a resposta de Jack: para remover o uso de apóstrofo e barra
json_build_object
Acho que vai funcionar.