É desculpa, é 9.x

Putz, mais essa... "string_agg" que beleza...

Esse postgres me surpreende a cada dia

Marcelo Silva
----------------------------------


Em 8 de abril de 2013 10:10, Marcone <[email protected]> escreveu:

> 2013/4/8 Marcelo da Silva <[email protected]>:
> > Pessoal estou tentando concatenar numa string o resultado de um select:
> >
> > email1, email2, email3, etc
> >
> > Sei pouca coisa em termos de funções em Postgres, criei a função abaixo
> pra
> > isso.
> > Mas está faltando o principal que é concatenar, vejam:
> >
> > CREATE OR REPLACE FUNCTION femailsclientes(integer)
> >   RETURNS character varying AS
> > $BODY$
> >   declare
> >     result character varying;
> > begin
> >
> >     for result in select distinct email from mv_clientes_emails where
> > (cod_id = $1)
> >     loop
> >       result = result || ',' || result;
> >     end loop;
> >   return result;
> >
> > end;
> > $BODY$
> >   LANGUAGE plpgsql VOLATILE
> >   COST 100;
> > ALTER FUNCTION femailsclientes(integer)
> >   OWNER TO postgres;
>
>
> Marcelo... você não mencionou a versão do Postgres, mas se for 9.0 ou
> superior, basta usar a função string_agg [1].
>
> Mais ou menos assim:
>
> Select cod_id,
> string_agg(email, ', ')
> from mv_clientes_emails
> group by cod_id;
>
> 1 - http://www.postgresql.org/docs/9.0/static/functions-aggregate.html
>
> --
> Marcone Peres - DBA
> http://www.linkedin.com/in/marconeperes
> @marconeperes
> (61) 8146-0028
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a