Select no Execute Block utilizando Union All
Boa tarde, estou utilizando o FireBird 2.5 no IBExpert.
Preciso realizar uma consulta SQL no execute blocks utilizando as tabelas "Contas_Recebe" e "Contas_Pagar". Mas tô com dificuldades porque os dalos dos valores nominais dessas duas tabelas estăo retornando na mesma coluna e eu preciso que me retornem separados, conforme print seguinte: https://prnt.sc/WsDLSKmKNifq
Atualmente meu código se encontra assim
Preciso realizar uma consulta SQL no execute blocks utilizando as tabelas "Contas_Recebe" e "Contas_Pagar". Mas tô com dificuldades porque os dalos dos valores nominais dessas duas tabelas estăo retornando na mesma coluna e eu preciso que me retornem separados, conforme print seguinte: https://prnt.sc/WsDLSKmKNifq
Atualmente meu código se encontra assim
execute block
returns ("Męs" varchar(15), r_valorCR numeric(15,2),r_valorCP numeric(15,2), r_saldo numeric (15,2), r_tipo varchar(10))
as
declare variable vRecebe numeric (15,2);
declare variable vRecebido numeric (15,2);
declare variable vPaga numeric(15,2);
declare variable meses varchar(15);
begin
for
select extract (month from cr.data_emissao), sum(cr.valor_aberto)vRecebe, 'CR'"TIPO"
from contas_receber cr
where cr.status = 'A'
group by extract (month from cr.data_emissao)
union all
select extract (month from cp.data_emissao),sum(cp.valor_aberto)vPaga, 'CP'"TIPO"
from contas_pagar cp
where cp.status = 'A'
group by extract (month from cp.data_emissao)
order by 1
into "Męs", r_valorCR, r_tipo
do
begin
if ("Męs" = '1') then
"Męs" = 'Janeiro';
if ("Męs" = '2') then
"Męs" = 'Fevereiro';
if ("Męs" = '3') then
"Męs" = 'Março';
if ("Męs" = '4') then
"Męs" = 'Abril';
if ("Męs" = '5') then
"Męs" = 'Maio';
if ("Męs" = '6') then
"Męs" = 'Junho';
if ("Męs" = '7') then
"Męs" = 'Julho';
if ("Męs" = '8') then
"Męs" = 'Agosto';
if ("Męs" = '9') then
"Męs" = 'Setembro';
if ("Męs" = '10') then
"Męs" = 'Outubro';
if ("Męs" = '11') then
"Męs" = 'Novembro';
if ("Męs" = '12') then
"Męs" = 'Dezembro';
r_saldo = r_valorCR - r_valorCP;
suspend;
end
end
Segue o print do resultado da minha consulta SQL utilizando o código atual: https://prnt.sc/AsZSyMr2gyea
Renato Akira
Curtidas 0