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 ...)
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With