Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelinho

Somar valor com a linha anterior

Recommended Posts

Fala ai Galera,

 

estou com uma dúvida.

 

eu estou tendo que fazer uma coluna chamada valor acumulado, que é o valor + o valor da linha anterior.

 

ex:

valor valor acum.

100 100

200 300

 

e assim por diante, teria algum jeito de fazer isso sem usar cursor ou tabelas virtuais, pois procurei no forum antes de posta e achei um problema parecido com o meu, porém usava cursor e tabela virtual.

veja: http://forum.imasters.com.br/index.php?sho...soma+de+valores

 

se puderem me dar uma força fico agradecido.

 

Obrigado desde ja,

Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma possível solução seria um sub-select comparando o código do sub-select com o código do select:

DECLARE @Tarefas table (Codigo int, Valor money)insert into @Tarefas (Codigo, Valor) values (1, 100)insert into @Tarefas (Codigo, Valor) values (2, 200)insert into @Tarefas (Codigo, Valor) values (3, 300)insert into @Tarefas (Codigo, Valor) values (5, 400)insert into @Tarefas (Codigo, Valor) values (4, 50)SELECT (SELECT sum(Valor) FROM @Tarefas t2 WHERE t.Codigo >= t2.Codigo) as Acumulador, * FROM @Tarefas t ORDER BY Codigo
script baseado em: http://forum.imasters.com.br/index.php?s=&...st&p=880189

 

 

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que o post é antigo, mas estou utilizando o select para abaixo para obter uma coluna com o valor acumulado.

SELECT  data, valor, (SELECT sum(Valor) FROM Projetado as t2  WHERE t.data >= t2.data) as Acumulador FROM Projetado as t ORDER BY  data

Se a tabela projetado não tiver mais de um registro com a mesma data funciona perfeito, mas quando existe registro com a mesma data o valor da coluna Acumulador fica errado

 

O que deve ser feito para resolver este problema ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olimpia,

eu acho que você vai ter que fazer a comparacao de registro anterior antes de somar, bem parecido com isto aki:

http://forum.imasters.com.br/index.php?showtopic=323693

 

ve es te ajuda.

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.