Select no Execute Block utilizando Union All
30/06/2022
0
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)