select (select sum( coalesce(juros_rec,0) ) from caixa_diario_lanc where codreceber = a.cr_codigo and cod_cli = a.cr_cli and tipo_lanc = 'R' and (coalesce(juros_rec,0) > 0 or coalesce(DESCONTO,0) > 0)) as VLR_JUROS, (select sum(coalesce(DESCONTO,0)) as DESCONTO_REC from caixa_diario_lanc where codreceber = a.cr_codigo and cod_cli = a.cr_cli and tipo_lanc = 'R' and (coalesce(juros_rec,0) > 0 or coalesce(DESCONTO,0) > 0)) as VLR_DESCONTO, a.cr_abatimento as VLR_TOTAL , a.*, b.nome, b.razao_social, b.cpf, b.venc_chave, b.data_lib, b.contr_valor, b.situacao ,c.nome cidade, d.carencia_juros, n.juros as juros_bc, n.multa as multa_bc, t.descricao , c.nome as agrupar from CONTASR a LEFT OUTER JOIN clientes b on (a.cr_cli = b.codigo) LEFT OUTER JOIN cidades c on (b.cod_cidade = c.codigo) LEFT OUTER JOIN clientejuridico d on (b.cod_convenio = d.codigo) LEFT OUTER JOIN BANCO n ON (n.conta= a.conta AND n.codcedente = a.cedente) LEFT JOIN TIPO_TITULO T ON (T.cod_tipo_titulo = a.cod_tipo_titulo) where a.cr_cli > 0 AND coalesce(a.baixado,'N') = 'N' and b.cod_convenio = :cod_convenio and a.cr_datavenc >= :data1 and a.cr_datavenc <= :data2 AND EXISTS ( SELECT 1 FROM LIBERACOES_LANC L WHERE L.COD_CLI = a.cr_cli and coalesce(L.serial,'') <> 'SEM CHAVE GERADA' AND ( EXTRACT(YEAR FROM L.DATA_LIBERACAO) = EXTRACT(YEAR FROM a.cr_datavenc) AND EXTRACT(MONTH FROM L.DATA_LIBERACAO) = EXTRACT(MONTH FROM a.cr_datavenc) OR EXTRACT(YEAR FROM L.DATA_VENCIMENTO) = EXTRACT(YEAR FROM a.cr_datavenc) AND EXTRACT(MONTH FROM L.DATA_VENCIMENTO) = EXTRACT(MONTH FROM a.cr_datavenc) ) ) order by b.cod_cidade ,b.nome, a.cr_datavenc