"ikke helt duplikat" i kommentarerne bør pege dig i den rigtige retning:opret dit eget aggregat funktion . Først skal du bruge en ikke-aggregeret strengsammenkædningsfunktion, noget som denne:
create function concat(t1 text, t2 text) returns text as $$
begin
return t1 || t2;
end;
$$ language plpgsql;
Så kan du definere din egen samlede version af den funktion:
create aggregate group_concat(
sfunc = concat,
basetype = text,
stype = text,
initcond = ''
);
Nu kan du group_concat
alt hvad du ønsker:
select group_concat(s)
from t
group by g
Jeg gravede dette ud af mine arkiver, men jeg tror, det burde fungere i 8.2.
Husk, at 8.2 ikke længere understøttes, så du vil måske opgradere til mindst 8.4 så hurtigt som muligt.