Agrupar y concatenar

From: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Agrupar y concatenar
Date: 2012-08-07 11:49:44
Message-ID: CANm+PCCoA-f8nya60g9EZ5fADf=S7pjRr5ADpnd=3izcWuge6Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo Villanueva 2012-08-07 12:02:18 Re: Agrupar y concatenar
Previous Message Juan 2012-08-07 01:32:27 Re: INSERT LENTOS EN CAMPOS TEXT / BYTEA