select firebird e delphi - tipo extrato

10/01/2021

6

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?
Responder

Posts

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
Responder
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
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar