On Mon, 19 Dec 2005 09:54:49 -0700 Michael Fuhr <[EMAIL PROTECTED]> threw this fish to the penguins:
> 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 > ); That's exactly what I needed. Works great. Thanks, George -- "Are the gods not just?" "Oh no, child. What would become of us if they were?" (CSL) ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match