Array
(
)

[DÚVIDA] SELECT

Vini85
   - 20 jul 2009

Boa tarde Pessoal, preciso de um select onde o cenario seria esse

Tenho uma tabela com um campo data e valor,

Preciso fazer uma sentença em SQL SERVER que sempre me traga o o valor do mes atual menos o valor do mes passado.

EXEMPLO: Coluna Data (19/06/2009) Coluna Valor(200,00)
(20/07/2009) (300,00)

Aguardo

Renato Tavares
   - 20 jul 2009

Olá..!! 8)

Seria + ou - uma coisa assim..!! :wink:

CREATE TABLE #TESTE (DATA DATETIME, VALOR DECIMAL(15,2))

INSERT INTO TESTE VALUES (´2009-05-01´,100.00)
INSERT INTO TESTE VALUES (´2009-06-01´,200.00)
INSERT INTO TESTE VALUES (GETDATE(),300.00)

DECLARE @DATA_ATUAL VARCHAR(1),@VALOR_1 FLOAT, @DATA_ANTERIOR VARCHAR(1), @VALOR_2 FLOAT

SET @DATA_ATUAL = ( SELECTDATEPART(MONTH,DATA) AS MES_ATUAL
FROM TESTE WHERE DATA = (SELECT MAX(DATA) FROM TESTE) )

SET @DATA_ANTERIOR = ( SELECTDATEPART(MONTH,DATA) AS DATA_ANTERIOR
FROM TESTE WHERE DATEPART(MONTH,DATA) = ( SELECT MAX(DATEPART(MONTH,DATA) - 1) FROM TESTE ))

SET @VALOR_1 = ( SELECT SUM(VALOR)
FROM TESTE WHERE DATA = (SELECT MAX(DATA) FROM TESTE) )

SET @VALOR_2 = ( SELECT VALOR
FROM TESTE WHERE DATEPART(MONTH,DATA) = ( SELECT MAX(DATEPART(MONTH,DATA) - 1) FROM TESTE ))

SELECT@DATA_ATUAL AS MES_ATUAL,
@VALOR_1 AS VALOR_ATUAL,
@DATA_ANTERIOR AS MES_ANTERIOR,
@VALOR_2 AS VALOR_ANTERIOR,
@VALOR_1 - @VALOR_2 AS DIFERENCA

um abraço,

Renato

Martins
   - 20 jul 2009


Citação:
Boa tarde Pessoal, preciso de um select onde o cenario seria esse

Tenho uma tabela com um campo data e valor,

Preciso fazer uma sentença em SQL SERVER que sempre me traga o o valor do mes atual menos o valor do mes passado.

EXEMPLO: Coluna Data (19/06/2009) Coluna Valor(200,00)
(20/07/2009) (300,00)

Aguardo


Vc já pensou em criar uma SP para isso?

Quer mesmo apenas um select?