Reputation: 1717
In PostgreSQL, how can I select some values into a 2D array?
For example, if I want to aggregate a field of data into an array, I would use the ARRAY() constructor or array_agg function e.g.
ARRAY(SELECT s.name FROM myschema.mytable s)
How would I go about selecting say, two values, into a 2D array i.e.
2DARRAYFUNCTION(SELECT s.name, s.id FROM ...)
Upvotes: 7
Views: 3983
Reputation: 658757
If you try to aggregate an ARRAY
(build from key and value like in your example) into a two-dimensional array, the aggregate function array_agg()
or the ARRAY
constructor error out:
I happen to have written an answer for this case exactly recently. Turns out, it's your prequel question.
Upvotes: 4