GARANTIR DESCONTO

Fórum Somar valor dos ultimos 12 meses sql #449548

26/07/2013

0

Bom dia pessoa,

Estou com o seguinte problema aqui.

Precisso somar os valores de um determinado periodo para cada data.

Exemplo:

Tenho na minha tabela os seguintes campos:

data | valor

01.01.2003 | 1,25

01.02.2003 | 1,08

01.03.2003 | 0,88

01.01.2004 | 1,26

01.02.2004 | 2,26

Com centenas de datas.

preciso agregar(somar) para cada data o valor dos ultimos doze meses,ultimos 6 meses e 3 meses.

Exemplo:

para a data 01.01.2004 eu tenho que somar o valor de 01.01.2003 até 01.01.2004 assim por diante.....

isso para cada lina da tabela...

alguém pode ajudar?
Eduardo Silva

Eduardo Silva

Responder

Posts

30/07/2013

Jair N.

Boa Tarde já fez algo assim:

SELECT myTabela.data
, (SELECT SUM(sqyTabela.valor)
FROM tabela sqyTabela
WHERE (sqyTabela.data <= myTabela.data)
AND (sqyTabela.data BETWEEN '01.01.2003' AND '01.01.2004')
) AS vlrTotal
FROM Tabela myTabela
WHERE (myTabela.data BETWEEN '01.01.2003' AND '01.01.2004')
GROUP BY myTabela.data
ORDER BY myTabela.data


Bom dia pessoa,

Estou com o seguinte problema aqui.

Precisso somar os valores de um determinado periodo para cada data.

Exemplo:

Tenho na minha tabela os seguintes campos:

data | valor

01.01.2003 | 1,25

01.02.2003 | 1,08

01.03.2003 | 0,88

01.01.2004 | 1,26

01.02.2004 | 2,26

Com centenas de datas.

preciso agregar(somar) para cada data o valor dos ultimos doze meses,ultimos 6 meses e 3 meses.

Exemplo:

para a data 01.01.2004 eu tenho que somar o valor de 01.01.2003 até 01.01.2004 assim por diante.....

isso para cada lina da tabela...

alguém pode ajudar?
Responder

Gostei + 0

30/07/2013

Eduardo Silva

Opá tudo bem...eu resolvi assim

SELECT sk_metadados, valdata, valvalor,

(SELECT Sum(valvalor) FROM valor_periodo vp

WHERE vp.valdata BETWEEN vp1.valdata-365 AND vp1.valdata

AND sk_metadados =23805 ) soma12mesesantes,





(SELECT Sum(valvalor) FROM valor_periodo vp

WHERE vp.valdata BETWEEN vp1.valdata-365 AND vp1.valdata

AND sk_metadados =23805 ) soma12mesesantes,

(SELECT Sum(valvalor) FROM valor_periodo vp

WHERE vp.valdata BETWEEN vp1.valdata-182 AND vp1.valdata

AND sk_metadados =23805 ) soma6mesesantes ,

(SELECT Sum(valvalor) FROM valor_periodo vp

WHERE vp.valdata BETWEEN vp1.valdata-91 AND vp1.valdata

AND sk_metadados =23805 ) soma3mesesantes

FROM valor_periodo vp1

WHERE sk_metadados =23805


Agora preciso dividir pelo valor relativo, tipo assim.

pegar a soma de janeiro de 2003 e dividir pela soma de janeiro de 2002.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar