Re: Obtener columna de totales

From: Anthony Sotolongo <asotolongo(at)gmail(dot)com>
To: Jorge Barzola <jorgebarzola(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Obtener columna de totales
Date: 2018-10-17 00:30:38
Message-ID: 098dc435-be3c-2258-ae1e-f9f758fa2a49@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Jorge, puedes utilizar las funciones
ventanas(https://www.postgresql.org/docs/10/static/functions-window.html),
algo como esto, debes ajustarlo a tu escenario:

with a as (
select row_number() over ()as id, id_tip_mov,mto_can, case id_tip_mov
    when 2 then 0-mto_can
    else
    mto_can
end as valor
 from (select * from  (VALUES (1, 100), (1, 300),(2, 6),(2, 4),(1,7))
AS t (id_tip_mov,mto_can)) sub)

 select id_tip_mov,mto_can,sum (valor) over (order by id  rows between
unbounded preceding and current row) from a

saludos

El 16/10/18 a las 20:54, Jorge Barzola escribió:
> Buenas noches compañeros, necesito obtener una columna de totales
> (MTO_TOT) como se muestra en la siguiente figura:
>
> FEC_EMI   | ID_TIP_MOV |MTO_CAN | MTO_TOT
> 30/05/2018 |1         | 100   | 100
> 30/05/2018 |1         | 300   | 400
> 31/05/2018 |2         | 6         | 394
> 31/05/2018 |2         | 4         | 390
> 31/05/2018 |1         | 7         | 397
>
> Teniendo en cuenta que:
>
> 1 = Ingreso (Suma)
> 2 = Salida   (Resta)
>
> Alguna idea?
>
> Gracias por su tiempo

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Barzola 2018-10-17 04:13:02 Re: Obtener columna de totales
Previous Message Jorge Barzola 2018-10-16 23:54:47 Obtener columna de totales