From: | Anthony Rafael Sotolongo Leon <asotolongo(at)uci(dot)cu> |
---|---|
To: | Martín Marqués <martin(dot)marques(at)gmail(dot)com> |
Cc: | lista postrges <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: agrupar datos de distintos registros en un campo |
Date: | 2011-04-07 19:31:42 |
Message-ID: | 214479254.2028241302204702018.JavaMail.root@ucimail1.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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(dot)marques(at)gmail(dot)com>
Para: "lista postrges" <pgsql-es-ayuda(at)postgresql(dot)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(at)postgresql(dot)org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Jorge Toro | 2011-04-07 21:35:36 | Problema con phpPgAdmin |
Previous Message | Martín Marqués | 2011-04-07 19:23:15 | agrupar datos de distintos registros en un campo |