> > > Marco Lazzeri <[EMAIL PROTECTED]> writes: > > > SELECT > > p.name, ARRAY(SELECT nicknames FROM people WHERE people.id = p.id) > > FROM people AS p > > > Any suggestions? > > Something like: > > db=> create aggregate array_aggregate (basetype = integer, sfunc = array_append, > stype = integer[], initcond = '{}'); > CREATE AGGREGATE > > db=> select array_aggregate(id) from tab; > > array_aggregate > > ------------------------------------------------------------------------------------------------------------------------------------------------------------ > > {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,29,30,31,32,33,34,36,37,38,39,40,41,42,43,27,26,44,45,46,47,48,49,50,51,52,53,54,35} > (1 row) > > -- > greg > > Interesting feature, but I cannot find function array_append: ERROR: AggregateCreate: function array_append(integer[], integer) does not exist
TIA Regards, Christoph ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match