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

Responder a