- Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 13 anos, 7 meses atrás por luan.
-
AutorPosts
-
17 de junho de 2011 às 7:57 pm #99696luanParticipante
Boa tarde galera,
seguinte, tenho uma query que está me causando uma boa dor de cabeça, quando eu executo a query e me aparecem os resultados, uma das colunas que me traz eh chamada STATUS que pode ser ‘AUTORIZADO’ ou ‘NAO AUDITADO’, e essa coluna está inconstante, as vezes aparece como ‘AUTORIZADO’ e as vezes como ‘NAO AUDITADO’, e quando eu vejo diretamente na tabela o status está ‘NAO AUDITADO’…
segue a query abaixo:
SELECT A.IDGUIADADO, A.IDCONSULTA, E.CODIGO, E.PROCEDIMENTO, A.VALOR, A.VALORAUTORIZADOPGTO,
A.STATUSAUDITORIA, ' ' AS MOTIVO_GLOSA, NULL AS ID_LOGIN,H.TIPOGUIA, F.NOME, F.CODALTERNATIVO,
F.Idbeneficiario, To_Char(H.Datalog,'DD/MM/YY HH24:MI'), To_Char(H.Datalog,'DD/MM/YY') ,
F.SOROPOSITIVO, J.NOME, I.ESPECIALIDADE, 1 AS QUANTIDADE, P.IDPRESTADOR , G.OBSERVACAO
FROM GUIA_DADO H
JOIN GUIA_CONSULTA A ON ( H.IDGUIADADO = A.IDGUIADADO )
JOIN PRESTADOR_CONTRATO G ON ( A.IDCONTRATO = G.ID )
JOIN PRESTADOR_DETAIL P ON ( P.IDDETAIL = G.IDPRESTADORDETAIL )
JOIN PRESTADOR_DADO D ON ( P.IDPRESTADOR = D.IDPRESTADOR )
JOIN TUSS_ANS E ON ( G.IDTUSS = E.ID )
JOIN BENEFICIARIO_DADO F ON ( H.IDBENEFICIARIO = F.IDBENEFICIARIO )
LEFT OUTER JOIN MEDICO_ESPECIALIDADE I ON ( I.IDESPECIALIDADE = G.IDESPECIALIDADE )
LEFT OUTER JOIN MEDICO_DADO J ON ( I.IDMEDICO = J.IDMEDICO )
WHERE A.STATUS = 'LIBERADO' AND A.FLAG = 'FINALIZADO' AND H.DATAEMISSAO
BETWEEN TO_DATE(P_MESANOREFERENCIA,'dd/mm/yy')
AND LAST_DAY(TO_DATE(P_MESANOREFERENCIA,'dd/mm/yy')) +1
AND P.CNPJ = R(P_CNPJ)
ORDER BY 15,11;
a coluna que está inconstante é a A.STATUSAUDITORIA …
Alguém tem ideia do que pode ocasionar esse tipo de mutação? Já tentei mudar os joins para left join, inner join mas o bug continua, nao sei mais oque fazer…Muito obrigado galera
Abraços
17 de junho de 2011 às 8:21 pm #99697rmanParticipanteCreio eu que a condição de junção entre GUIA_DADO e GUIA_CONSULTA está errado, ou faltando alguma coisa…
Verifica se a condição realmente é essa:
GUIA_DADO.IDGUIADADO = GUIA_CONSULTA.IDGUIADADO
Teste o SELECT
SELECT A.IDGUIADADO,
A.STATUSAUDITORIA
FROM GUIA_DADO H
JOIN GUIA_CONSULTA A
ON (H.IDGUIADADO = A.IDGUIADADO)
O resultado deste SELECT é consistente ?
17 de junho de 2011 às 10:25 pm #99703luanParticipanteObrigado pela resposta, o resultado é sim consistente…o mais estranho é que esse problema começou a ocorrer de alguns dias pra cá, a consulta não tinha problemas antes…esqusito eh q eu executo umas 5 vezes, 4 vezes o resultado vem correto e 1 vez não vem…ficou instavel
18 de junho de 2011 às 12:04 am #99715luanParticipanteDepois de 1 dia perdido descobri que nesse caso a ordem dos fatores alterava o produto rs…
Troquei a ordem dos join e milagrosamente parou de bugar, vai entender…De qualquer forma obrigado!!
Abraços
-
AutorPosts
- Você deve fazer login para responder a este tópico.