Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #99696
    luan
    Participante

      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

      #99697
      rman
      Participante

        Creio 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 ?

        #99703
        luan
        Participante

          Obrigado 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

          #99715
          luan
          Participante

            Depois 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

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress