From: | "Pierre Thibaudeau" <pierdeux(at)gmail(dot)com> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Concatenating several rows |
Date: | 2007-01-30 04:10:20 |
Message-ID: | 74b035bb0701292010p7dc7e341s938262bef19f48e0@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Thank you, George and Phillip! I was trying something similar (doing
a cast) which wasn't working:
SELECT array_to_string( (SELECT name FROM pseudonyms WHERE
person_id=125)::array, ' ');
In the meantime, I wrote a little function to do the job, but your
solution is simpler:
CREATE OR REPLACE FUNCTION persons.aggregatenames(personid integer)
RETURNS text AS
$BODY$declare
somerow record DEFAULT '';
thenames text;
BEGIN
FOR somerow IN SELECT name FROM pseudonyms WHERE person_id=personid LOOP
thenames := thenames || ' ' || somerow.name ;
END LOOP;
RETURN thenames;
END;$BODY$
LANGUAGE 'plpgsql' STABLE;
> SELECT array_to_string(array(SELECT name FROM pseudonyms WHERE
> person_id=125), ' ');
From | Date | Subject | |
---|---|---|---|
Next Message | Bottini | 2007-01-30 11:06:52 | how install 2 different version |
Previous Message | George Pavlov | 2007-01-30 03:30:02 | Re: Concatenating several rows |