Der vage Titel tut mir leid, aber ich kenne einfach nicht die richtigen Worte, um dies zu beschreiben.
Ich habe diese Abfrage, die eine Reihe von Spalten in ein Objekt umwandelt, das einwandfrei funktioniert:
SELECT row_to_json(t)
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t
Ich möchte jedoch die Objekte, die in eine bestimmte Kategorie fallen, in einem Array gruppieren. Diese Kategorie wird durch eine vierte Spalte in meiner Tabelle mit dem Namen "loadProductId" definiert. Das Array sollte den Wert "loadProductId" als Schlüssel haben. Damit:
"961":[
{"type":"Feature",....
{"type":"Feature",....
{"type":"Feature",....
],
"962":[
.....
]
Ich habe also in den letzten 1 1/2 Stunden damit zu kämpfen. Ich habe wirklich keine Ahnung, wie das geht. Das habe ich gerade:
SELECT array_agg(row_to_json(t))
FROM (
SELECT type, properties, geometry FROM "bgbCargoMinardJSON"
) t) FROM "bgbCargoMinardJSON" GROUP BY "carProductId"
quelle
{"3565": "[{\"type\":
Ich habe ein Apostroph vor jeder Klammer und einen Schrägstrich vor jedem Apostroph. Ich hatte das schon einmal und es ist immer etwas mit dem Datentyp. Um ehrlich zu sein, ich verstehe nicht ganz, wie die von Ihnen geschriebene Abfrage funktioniert, und daher weiß ich nicht wirklich, wo und wie ich das beheben kann.json_agg(to_json(items.*)) as "items"