Source Target [EMAIL PROTECTED] [EMAIL PROTECTED],[EMAIL PROTECTED],....
It isn't clear from your description what you want (to me, anyway), but I'd guess something like this:
regression=# select * from src2tgt; source | target -------------+------------------ [EMAIL PROTECTED] | [EMAIL PROTECTED] [EMAIL PROTECTED] | [EMAIL PROTECTED] [EMAIL PROTECTED] | [EMAIL PROTECTED] [EMAIL PROTECTED] | [EMAIL PROTECTED] (4 rows)
create or replace function mylist(text,text) returns text as ' declare result text; begin if $1 = '''' then result := $2; else result := $1 || '','' || $2; end if; return result; end; ' language 'plpgsql';
create aggregate tgtlist ( BASETYPE = text, SFUNC = mylist, STYPE = text, INITCOND = '' );
regression=# select source, tgtlist(target) from src2tgt group by source; source | tgtlist -------------+----------------------------------- [EMAIL PROTECTED] | [EMAIL PROTECTED],[EMAIL PROTECTED] [EMAIL PROTECTED] | [EMAIL PROTECTED],[EMAIL PROTECTED] (2 rows)
HTH,
Joe
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly