SALDO INICIAL E FINAL

PITERGALDIANO 23/05/2022 06:20:10
#499930
Bom dia a todos!

Tenho a seguinte estrutura da tabela

CODIGO,
PAGAMENTO_RECEBIMENTO,
DATA_MOVIMENTO,
VALOR

O select abaixo deveria me retornar o saldo inicial e o saldo final, porém não está acontecendo, alguém pode ajudar onde está o problema?


  declare @data_inicial as date
declare @data_final as date
set @data_inicial="01/05/2022"
set @data_final="31/05/2022"

select
mov.CODIGO,
Sum(iif(mov.PAGAMENTO_RECEBIMENTO="R" and mov.DATA_MOVIMENTO < @data_inicial,mov.VALOR,0))
- Sum(iif(mov.PAGAMENTO_RECEBIMENTO="P" and mov.DATA_MOVIMENTO < @data_inicial,mov.VALOR,0)) as saldo_inicial,
Sum(iif(mov.PAGAMENTO_RECEBIMENTO="R" and mov.DATA_MOVIMENTO between @data_inicial and @data_final,mov.VALOR,0)) as recebimentos,
Sum(iif(mov.PAGAMENTO_RECEBIMENTO="P" and mov.DATA_MOVIMENTO between @data_inicial and @data_final,mov.VALOR,0)) as pagamentos,
Sum(iif(mov.PAGAMENTO_RECEBIMENTO="R" ,mov.VALOR,0))
- Sum(iif(mov.PAGAMENTO_RECEBIMENTO="P" ,mov.VALOR,0)) as Saldo_Final
from
MOVIMENTO_FINANCEIRO as mov
where
mov.DATA_MOVIMENTO <= @data_final
group by
mov.CODIGO


Obrigado.
JABA 23/05/2022 15:42:04
#499937
Resposta escolhida
Verifique se os parenteses estão fechados corretamente. Fiz uma pequena alteração aqui nessa parte:

[txt-color=#e80000]([/txt-color]Sum(iif(mov.PAGAMENTO_RECEBIMENTO="R" and mov.DATA_MOVIMENTO < @data_inicial,mov.VALOR,0)) - Sum(iif(mov.PAGAMENTO_RECEBIMENTO="P" and mov.DATA_MOVIMENTO < @data_inicial,mov.VALOR,0))[txt-color=#e80000])[/txt-color] as saldo_inicial

PITERGALDIANO 23/05/2022 22:20:50
#499940
Boa noite! tudo bem

Mesmo informando os parenteses, sempre traz o saldo inicial zerado.
JABA 24/05/2022 00:53:08
#499941
Citação:

:
Boa noite! tudo bem

Mesmo informando os parenteses, sempre traz o saldo inicial zerado.


Provavelmente a consulta deve estar montada errada então. Faça-a em partes até descobrir onde não está batendo.
Tópico encerrado , respostas não são mais permitidas