select firebird e delphi - tipo extrato

Delphi

ADO

Firebird

Firebase

10/01/2021

Boa noite,
tenho 2 tabelas . Entradas / Saidas

Gostaria de unir elas e calcular o saldo tipo Extrato:

Tabela: Entrada
DT::::::::::Vlr
1/1/2021:::100,00
10/1/2021:100,00
1/2/2021:::100,00

Tabela: Saida
DT::::::::::Vlr
5/1/2021:::50,00
12/1/2021:50,00
1/2/2021:::100,00

Resultado
DT:::::::::::ENTRADA:::::::SAIDA:::::::::SALDO
1/1/2021:::100,00:::::::::::0,00::::::::::100,00
5/1/2021::::00,00:::::::::::50,00::::::::::50,00
10/1/2021:::150,00:::::::::::0,00::::::::::200,00
12/1/2021:::::0,00:::::::::::50,00::::::::::150,00
1/2/2021:::::100,00:::::::::::100,00:::::::150,00

Alguém sabe como montar SQL no firebird ou diretamente no delphi?
Daniel Antonio

Daniel Antonio

Curtidas 0

Respostas

Claudio Andrade

Claudio Andrade

10/01/2021

Se não houver entrada e saída no mesmo dia, isso aqui deve resolver.
Fiz rápido e não testei *
select
  tmp.data,
  tmp.entrada,
  tmp.saida,
  tmp.entrada - tmp.saida as tmp.saldo
from
(
	select
	    campo_data as data,
		campo_entrada as entrada,
		0 as saida
	from
		tabela_entrada
		
	union
	
	select
		campo_data as data,
		0 as entrada,
		campo_saida as saida
	from
		tabela_saida
) as tmp
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

10/01/2021

tente algo assim:
select
	data_mov, sum(vlrentrada) entrada, sum(vlrsaida) saida,
	sum(vlrentrada - vlrsaida) over (order by data_mov) saldo
from
(
	select dt data_mov, vlr vlrentrada, 0 vlrsaida from entrada
	union all
	select dt data_mov, 0 vlrentrada, vlr vlrsaida from saida
) mov
group by
	data_mov
order by
	data_mov
GOSTEI 0
POSTAR