Página 1 de 1

Problema com cálculo

Enviado: Sex, 09 Jun 2017 5:38 pm
por Dualogic
Seres detentores do conhecimento neste fórum

Estou com uma problema em uma consulta SQL de um cliente, que executa um cálculo, porém mesmo que eu altere o valor dos campos o retorno é sempre o mesmo, preciso humildemente de vossos conhecimentos.

Segue código.

Neste sempre retorna 1,04

Selecionar tudo

SELECT ROUND (DECODE (a.ie_sexo,'M',((TO_NUMBER('1.112','999.99999999')-(TO_NUMBER('0.00043499','999.99999999')*(TO_NUMBER(TRIM(Aval(b.nr_sequencia,3032)),'999.99999999'))) + (TO_NUMBER('0.00000055','999.99999999') * (TO_NUMBER(TRIM(Aval(b.nr_sequencia,3032)),'999.99999999') * (TO_NUMBER(TRIM(Aval(b.nr_sequencia,3032)),'999.99999999')))) - (TO_NUMBER('0.00028826','999.99999999') * (TO_NUMBER(TRIM(Aval(b.nr_sequencia,2684)),'999.99999999'))))),'F',((TO_NUMBER('1.097','999.99999999')-(TO_NUMBER('0.00046971','999.99999999')*(TO_NUMBER(TRIM(Aval(b.nr_sequencia,3032)),'999.99999999'))) + (TO_NUMBER('0.00000056','999.99999999') * (TO_NUMBER(TRIM(Aval(b.nr_sequencia,3032)),'999.99999999') * (TO_NUMBER(TRIM(Aval(b.nr_sequencia,3032)),'999.99999999')))) - (TO_NUMBER('0.00012828','999.99999999') * (TO_NUMBER(TRIM(Aval(b.nr_sequencia,2684)),'999.99999999'))))),0),2) cp 
FROM atendimento_paciente_v a, med_avaliacao_paciente b 
WHERE b.nr_atendimento = :nr_atendimento 
AND b.nr_atendimento = a.nr_atendimento 
AND b.NR_SEQ_TIPO_AVALIACAO = 227
ORDER BY b.nr_sequencia DESC

Aqui sempre retorna 26

Selecionar tudo

SELECT ROUND(DECODE(a.ie_sexo,'M',((TO_NUMBER('4.95','999.99999999')/TO_NUMBER(TRIM(Aval(b.nr_sequencia,3036)),'999.99999999') - TO_NUMBER('4.5','999.99999999')) * 100),'F',((TO_NUMBER('4.95','999.99999999')/TO_NUMBER(TRIM(Aval(b.nr_sequencia,3036)),'999.99999999') - TO_NUMBER('4.5','999.99999999')) * 100),0),1) cp 
FROM atendimento_paciente_v a, med_avaliacao_paciente b 
WHERE b.nr_atendimento = :nr_atendimento 
AND b.nr_atendimento = a.nr_atendimento 
AND b.NR_SEQ_TIPO_AVALIACAO = 227
ORDER BY b.nr_sequencia DESC
Banco Oracle 11.2.0.4

Re: Problema com cálculo

Enviado: Seg, 12 Jun 2017 7:39 am
por spernega
Bom dia,

o que retorna quando você executa a função Aval isoladamente?

Re: Problema com cálculo

Enviado: Seg, 12 Jun 2017 8:26 am
por Dualogic
A função Aval, retorna o valor do campo de uma tela de avaliação que tenho no meu sistema.

o valor é alimentado pelo usuário baseado nos dados coletados.

Re: Problema com cálculo

Enviado: Seg, 12 Jun 2017 8:38 am
por spernega
é só um palpite no escuro, mas dá a impressão que está função pode estar com algum problema e retorna sempre o mesmo valor pra sempre dar o mesmo resultado no select, independente da b.nr_sequencia.

Re: Problema com cálculo

Enviado: Seg, 12 Jun 2017 8:44 am
por Dualogic
O problema é que este problema ocorre apenas com esta avaliação em específico, existem outras avaliações que os cálculos são feitos normalmente.

Re: Problema com cálculo

Enviado: Seg, 12 Jun 2017 8:48 am
por spernega
tem como você disponibilizar a estrutura da função e alguns b.nr_sequencia da query?

Re: Problema com cálculo

Enviado: Sex, 03 Nov 2017 1:09 pm
por DanielNN
O Problema é na função "Aval" como mencionado. Seria necessário analisá-la. Se fosse possível postá-la para verificarmos.