Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 17 anos atrás por Marcio68Almeida.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #81074
    cintia_ac
    Participante

      Tenho uma tabela
      codigo descricao
      1 produto1
      2 produto2
      3 produto3

      quero selecionar o apenas o ultimo registro…
      select * from tabela where rownum=1 order by codigo desc;

      essa sintaxe nao funciona no meu banco de dados mas outro programador afirma que funciona isso é possivel?

      para funcionar no meu banco teria que ser a sintaxe:
      select * from(select * from tabela order by codigo desc) where rownum =1

      Alguem pode me orientar por favor?

      Obrigada.
      Cintia

      #81075
      Marcio68Almeida
      Participante

        A cláusula ORDER BY irá ordenar o resultado da consulta, porém você restingiu a consulta a uma única linha, por isso está trazendo um resultado diferente o esperado.
        A solução seria realmente a segunda consulta que você realizou…
        A primira consulta, com uma pequena diferença na sintaxe, você poder obter o retorno desejado no SQL Server, não no Oracle.
        Outra opção, a mais adequada, seria :
        select *
        from tabela
        Where codigo = (select max (codigo) from tabela)

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