sql >> Base de Datos >  >> RDS >> PostgreSQL

Group_concat equivalente en postgresql 8.2.11

El "no del todo duplicado" en los comentarios debería indicarle la dirección correcta:cree su propio agregado función . Primero necesitará una función de concatenación de cadenas no agregadas, algo como esto:

create function concat(t1 text, t2 text) returns text as $$
begin
    return t1 || t2;
end;
$$ language plpgsql;

Luego puede definir su propia versión agregada de esa función:

create aggregate group_concat(
    sfunc    = concat,
    basetype = text,
    stype    = text,
    initcond = ''
);

Ahora puedes group_concat todo lo que quieras:

select group_concat(s)
from t
group by g

Saqué esto de mis archivos, pero creo que debería funcionar en 8.2.

Tenga en cuenta que 8.2 ya no es compatible, por lo que es posible que desee actualizar al menos a 8.4 lo antes posible.