Select difícil

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, &#40;select sum&#40;inte.valor&#41; from usuario inte where inte.usuario = ext.usuario and int.data &lt;= ext.data&#41; valor from usuario ext order by ext.data

Acho que era assim:) , mas tô sem aplicações aqui pra testar :frowning:

Obrigado a todos

O esquema de chamar a tabela de dois nomes diferentes deu certo.

Abraços !!!