Re: how to convert relational column to array?

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: george young <gry(at)ll(dot)mit(dot)edu>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: how to convert relational column to array?
Date: 2005-12-19 16:54:49
Message-ID: 20051219165449.GA99764@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Mon, Dec 19, 2005 at 11:06:12AM -0500, george young wrote:
> create table new_tab(name text, id int, permits text[]);
>
> -- I insert one row per name:
> insert into new_tab select distinct name,id,cast('{}' as text[]) from old_tab;
>
> Now I want to fold all the 'permits' values into the new permits arrays.

In PostgreSQL 7.4 and later you can build an array from a select,
so I think the following update should work (it did for me when I
tested it):

UPDATE new_tab SET permits = array(
SELECT permits
FROM old_tab
WHERE old_tab.name = new_tab.name AND old_tab.id = new_tab.id
);

--
Michael Fuhr

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message george young 2005-12-19 17:12:11 Re: how to convert relational column to array?
Previous Message Alvaro Herrera 2005-12-19 16:31:33 Re: [SQL] Question on indexes