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<[email protected]> 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 ([email protected]
> )
> 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