Aow galera
É o seguinte, eu tenho este banco de dados:
Nome / Data / Valor
Bruno 02/02/2007 100,00
Bruno 02/03/2007 300,00
Bruno 02/04/2007 500,00
Quero fazer um select que me dê o seguinte resultado:
Nome / Data / Valor
Bruno 02/02/2007 100,00
Bruno 02/03/2007 400,00
Bruno 02/04/2007 900,00
Ou seja, me dê os valores acumulados.
Tentei fazer o seguinte:
SELECT Nome,Data,
(SELECT Sum(Valor) where nome = ? and data <= ? from...)
FROM...
Porém não sei como passar os parâmetros (?) dele para ele mesmo, se é q isso tem jeito.
Obrigado !!!
Olá!
você pode usar apelidos para as tabelas, por exemplo:
SELECT u1.Nome ,u1.Data,
(SELECT Sum(u2.Valor) where u2.nome = u1.nome and u2.data <= u2.data from usuario u2)
FROM usuario u1
Ou tenta algo como:
select nome, data, sum(valor) from usuario group by nome, data;
Não lembro direito da sintaxe, mas é mais ou menos isso…
att
não da para usar o orderby ?
quase isso ai ,
não sei se estou certo,
mais tenta por orderby
não sei se é assim " orderby ". mais tenta ai!
Ola,
HUmm… a pouco tempo eu enfrentei um problema igual, e se vc tiver usando o oracle como base ele tem uma função que faz isto, mas se não tiver vc terá que fazer algo como:
select ext.nome, ext.data, (select sum(inte.valor) from usuario inte where inte.usuario = ext.usuario and int.data <= ext.data) valor from usuario ext order by ext.data
Acho que era assim:) , mas tô sem aplicações aqui pra testar 
Obrigado a todos
O esquema de chamar a tabela de dois nomes diferentes deu certo.
Abraços !!!