Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 9 anos, 5 meses atrás por Avatar de JOAO HENRIQUEJOAO HENRIQUE.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #107551
    Avatar de JOAO HENRIQUEJOAO HENRIQUE
    Participante

      Boa tarde Colegas.
      Estou tentando extrair o último registro da tabela res_exa, porém nem sempre no último registro a coluna, ds_resultado vem com valor, sendo assim usei a função coalesce para trazer o ultimo registro não nulo, só que preciso que a consulta me traga somente um único registro, mas quando uso o rownum =1 a consulta me traz o valor errado, quando não uso rownum ele me traz o valor correto, mas me traz vários valores e preciso de somente o último. Alguém pode me ajudar? Segue o código abaixo:

      SELECT coalesce(res_exa.ds_resultado,'') AS teste
      FROM res_exa,ped_lab,itped_lab
      WHERE ped_lab.cd_ped_lab = res_exa.cd_ped_lab
      AND res_exa.cd_itped_lab = itped_lab.cd_itped_lab
      --AND res_exa.cd_exa_lab = ped_lab.cd_exa_lab
      AND res_exa.cd_exa_lab = '5'
      --AND res_exa.cd_ped_lab IN (SELECT cd_ped_lab FROM dbamv.ped_lab WHERE cd_atendimento = 3636726)
      AND ped_lab.cd_ped_lab IN(SELECT cd_ped_lab FROM dbamv.res_exa )
      AND ped_lab.cd_atendimento = 3636726
      order BY res_exa.cd_ped_lab DESC

      estou enviando a saída do select em um print em anexo

      #107554
      Avatar de rmanrman
      Participante

        @JOAO HENRIQUE MACEDO

        Esse problema pode ser resolvido através de subquery e MAX. Exemplo:


        SELECT coalesce(res_exa.ds_resultado,'') AS teste
        FROM res_exa,ped_lab,itped_lab
        WHERE ped_lab.cd_ped_lab = res_exa.cd_ped_lab
        AND res_exa.cd_itped_lab = itped_lab.cd_itped_lab
        AND ped_lab.cd_ped_lab IN(SELECT cd_ped_lab FROM dbamv.res_exa )
        AND ped_lab.cd_atendimento = 3636726
        AND (res_exa.cd_exa_lab,res_exa.cd_ped_lab) = (SELECT cd_exa_lab,MAX(cd_ped_lab)
        FROM res_exa
        WHERE cd_exa_lab = '5'
        GROUP BY cd_exa_lab
        )

        #107574
        Avatar de JOAO HENRIQUEJOAO HENRIQUE
        Participante

          Ok Muito Obrigado pela ajuda, funcionou legal.
          Abraço.

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