PostgreSQL - best way to return an array of key-value pairs

Posted by Matt W on Stack Overflow See other posts from Stack Overflow or by Matt W
Published on 2012-02-03T14:05:39Z Indexed on 2012/03/25 23:28 UTC
Read the original article Hit count: 299

Filed under:
|
|

I'm trying to select a number of fields, one of which needs to be an array with each element of the array containing two values. Each array item needs to contain a name (character varying) and an ID (numeric). I know how to return an array of single values (using the ARRAY keyword) but I'm unsure of how to return an array of an object which in itself contains two values.

The query is something like

SELECT
    t.field1,
    t.field2,
    ARRAY(--with each element containing two values i.e. {'TheName', 1 })
FROM MyTable t

I read that one way to do this is by selecting the values into a type and then creating an array of that type. Problem is, the rest of the function is already returning a type (which means I would then have nested types - is that OK? If so, how would you read this data back in application code - i.e. with a .Net data provider like NPGSQL?)

Any help is much appreciated.

© Stack Overflow or respective owner

Related posts about sql

Related posts about database