Re: Agrupar y concatenar

From: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Agrupar y concatenar
Date: 2012-08-07 12:02:18
Message-ID: CANm+PCAyQGBEB2tjE=XDykrdG3uLTQy68txC2tmcTdTP8AV+FA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Perdón, me respondo yo solo:

select
pos_email,
pos_apellido,
pos_nombre,
*string_agg*(edu_titulo, '<BR>')
from postulantes inner join titulos using(pos_id)
group by
pos_email,
pos_apellido,
pos_nombre
Debía utilizar en 9.0 la función *string_agg*

Guillermo Villanueva

El 7 de agosto de 2012 08:49, Guillermo Villanueva
<guillermovil(at)gmail(dot)com>escribió:

> Buenos días, estaba buscando si existe una función agregada no estándar
> tal que así como se puede hacer un sum() de valores numéricos, pueda
> concatenar valores de tipo varchar.
> No encontré algo así, pero encontré una alternativa que la pongo a
> consideración de uds.
>
> Supongamos el siguiente caso: tengo una tabla de postulantes (personas) y
> otra de los títulos o estudios. Titulos tiene una FK apuntando a
> postulantes, entonces quiero listar todos los posulantes y por cada uno de
> estos la concatenación de las filas de títulos que tenga.
> Yo pretendía algo así:
>
> select
> pos_email,
> pos_apellido,
> pos_nombre,
> sumvarchar(edu_titulo||'<BR>')
> from postulantes inner join titulos using(pos_id)
> group by
> pos_email,
> pos_apellido,
> pos_nombre
>
> Pero como sumvarchar no existe
> Hice lo siguiente:
>
> select
> pos_email,
> pos_apellido,
> pos_nombre,
> array_to_string(array(select edu_titulo from educacion where
> pos_email=a.pos_email),'<BR>')
> from postulantes a
>
> Por favor, cuentenmé si hay alguna forma mas eficiente de hacerlo.
> Desde ya muchas gracias
>
> Guillermo Villanueva
>
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cristian Olguín Avila 2012-08-07 16:11:10 Re: Agrupar y concatenar
Previous Message Guillermo Villanueva 2012-08-07 11:49:44 Agrupar y concatenar