Populating an array from a select statement

From: John Gunther <postgresql(at)bucksvsbytes(dot)com>
To:
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Populating an array from a select statement
Date: 2008-02-18 13:22:14
Message-ID: 47B98686.2080109@bucksvsbytes.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

What's the most straightforward way to populate an array from a select
statement? For example, using a fictional extension of SQL syntax, I'd like:

update users set emails=ARRAY[select email from address where userid=25]
where id=25;

So if user 25 has emails john(at)domain(dot)com, john(at)gmail(dot)com, and
john(at)yahoo(dot)com in the address table,
select emails from user where id=25;
will return:
emails
----------------------------------------------------------------
{john(at)domain(dot)com, john(at)gmail(dot)com, and john(at)yahoo(dot)com}

If there's no built in way to do this, I'd suggest it as a future feature.

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message A. Kretschmer 2008-02-18 13:47:15 Re: Populating an array from a select statement
Previous Message Nicholas Hemley 2008-02-18 10:54:30 postgres 8.3 & ident authentication