No sé que ocurre con los saltos de línea al contestar mensajes. Te pongo de nuevo la consulta bien estructurada:
Código SQL
[-]select r.nro_recibo,cast(r.fecha as date),d.ap_paterno||' '||d.ap_materno||' '||d.nombres||'-->'||e.nombre_e, case r.porcentaje_cobro when 100 then c.costo else (r.porcentaje_cobro*c.costo)/100 end,r.costo_total,r.literal,r.nro_ambulatorio,r.usuario,r.tipo_paciente,r.nro_asegurado,r.nro_intern acion,r.factura,cast(r.fecha as time),r.monto_cobrar,r.porcentaje_cobro,c.nro,r.nro_factura from recibo r inner join registro_consulta_med c on (r.nro_recibo=c.nro_recibo) inner join c_externa c1 c.nro_consulta=c1.nro inner join doctor d on c1.id_doctor=d.ci inner join especialidad e on d.esp=e.nro where (r.fecha between :f1 and :f2 + 1) and (r.cancelado=:valor or r.cancelado='M')