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
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 |