Utiliza algo como esto , es parecido al group_concat de mysql, lo utilice una 
vez para obtener las llaves primarias de las tablas y en caso de tener mas de 
una me las ponía separadas por coma. Trata de ajustar esto a tu caso.



SELECT  table_name,
        array_to_string
        (
        ARRAY   (
                SELECT column_name::"text" FROM 
information_schema.key_column_usage,pg_constraint
WHERE  ((pg_constraint.contype = 'p'::"char") AND (pg_constraint.conname =
    information_schema.key_column_usage.constraint_name)) and grupo.table_name= 
information_schema.key_column_usage.table_name 
                ),
        ','
        ) AS group_concat
FROM    (
        SELECT  table_name
        FROM    information_schema.key_column_usage 
        GROUP BY
                table_name
        ) grupo
ORDER BY
        table_name


----- Mensaje original -----
De: "Martín Marqués" <martin.marq...@gmail.com>
Para: "lista postrges" <pgsql-es-ayuda@postgresql.org>
Enviados: Jueves, 7 de Abril 2011 15:23:15 (GMT-0500) Auto-Detected
Asunto: [pgsql-es-ayuda] agrupar datos de distintos registros en un campo

Estoy buscando esto por todos lados, pero no logro dar en la tecla.

Supongamos una tabla simple:

SELECT * FROM datos;
 id |  escuela  | inscripcion |    docente
----+-----------+-------------+----------------
  1 | EIS       |           1 | María Cristina
  2 | EIS       |           1 | Mariela
  3 | EIS       |           1 | José María
  4 | Comercial |           2 | Daniel
  5 | Comercial |           2 | María Rosa

Lo que yo quiero es agrupar por los campos escuela e inscripcion (en
realidad hay un solo numero de inscripcion por escuela, asi que sería
lo mismo decir que solo quiero agrupar por el campo escuela) y que los
datos repetidos de docente vayan agrupados en un campo separados por
','.

Es esto posible con SQL (no encontre como hacerlo) o debo pasar a un
lenguaje PL o directamente salir del motor?


-- 
Martín Marqués
select 'martin.marques' || '@' || 'gmail.com'
DBA, Programador, Administrador
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a