Tal vez select grupo, sum((coalesce(signo,'')||importe)::numeric) as total from pruebas group by grupo; grupo | total --------------+------- 04 | 05 | 1000 02 | 50 03 | -1 01 | 200
Saludos El 20 de octubre de 2016, 11:26, Kernel<jucab...@gmail.com> escribió: > > Hola, > no se si postgres permite una consultas recursivas. > > La tabla contiene un grupo, que contiene cuentas con un importe que suma o > resta, asu vez un grupo puede contener otro > > > necesito sacar los totales por grupo, por ejemplo > el grupo 02 tendria un valor de 250 , 200 del grupo 01 + las dos cuentas > del 20 y 30 > > > > CREATE TABLE pruebas ( > grupo character(12) NOT NULL, > clase character(1) NOT NULL, (puede tener el valor C o G) > cuenta character(12) NOT NULL, ( Contiene una cuenta o un grupo) > signo character(1), > importe integer > ); > > > grupo|clase|cuenta|signo|importe > 02 |G|01 || > 03 |G|02 || > 04 |G|02 || > 05 |G|04 || > 05 |G|01 |-| > 01 |C|43001 |-|100 > 01 |C|43002 ||300 > 02 |C|70000 ||20 > 02 |C|70001 ||30 > 03 |C|60000 ||600 > 03 |C|60001 |-|601 > 05 |C|2000 ||1000 > 04 |G|03 |-| > > Gracias > > - > 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 > > -- *Nahum Castro González* Blvd. Perdigón 214, Brisas del Lago. CP 37207 León, Guanajuato, México Tel (477)1950304 Cel (477)1274694