none
Consulta SQL RRS feed

  • Pergunta

  • (rotina feita em VB6, adodc)

    Tenho uma tabela com 2 campos (CÓDIGO e DATA)

    os registros gravados, como exemplo, são:

    CÓDIGO                  DATA
    ===================

    100______________10/05/10
    100______________10/06/10
    200______________15/02/10
    200______________15/03/10

    preciso, através de SQL, pegar apenas a MAIOR DATA de cada código,
    ou seja, como resultado preciso que apareça:
    100______________10/06/10
    200______________15/03/10

    como faço essa SQL?

    Agradeço desde já.
    quinta-feira, 28 de outubro de 2010 20:35

Respostas

Todas as Respostas

  • boas, aqui fica a minha contribuição, devo dizer que nao testei:

    SELECT codigo, max(data) as max_data FROM table GROUP BY codigo

     


    espero ter ajudado.
    quinta-feira, 28 de outubro de 2010 21:12
  • E isto ai mesmo LuisMLPinto. Funciona perfeitamente.

    bom trabalho.

    http://www.databasedev.co.uk/access_max_function.html


    Just Be Humble Malange!
    quinta-feira, 28 de outubro de 2010 21:36
    Moderador
  • Pois é, deu certo o código, mas...

    quando eu tento limitar a data daí ele me mostra outros registros.

    No caso do exemplo acima que o Luiz deu:

    SELECT codigo, max(data) as max_data FROM table GROUP BY codigo

    se eu incluir a seguinte data por exemplo:

    SELECT codigo, max(data) as max_data FROM table where data >= datevalue('" & dt1 & "') and data >= datevalue('" & dt2 & "') GROUP BY codigo

    daí me mostra outros registros q não correspondem à data máx (ou seja, contém data no período da consulta, mas não é a data máx).

    o que pode estar errado? Será que tem a ver com o formato da data (dd/mm/yyyy  - yyyy/mm/dd .......)?

    estou usando VB6, Access2000, e ADODC

    segunda-feira, 1 de novembro de 2010 22:41
  • Qual e o formato da data que tems?

    troca para dd/mm/yyyy


    Just Be Humble Malange!
    terça-feira, 2 de novembro de 2010 17:26
    Moderador
  • Já tentei vários formatos (dd/mm/yyyy; mm/dd/yyyy e yyyy/mm/dd) e nada.
    terça-feira, 2 de novembro de 2010 22:17
  • Já tentei vários formatos (dd/mm/yyyy; mm/dd/yyyy e yyyy/mm/dd) e nada.

    gera algum erro?

    escreve a data que procuras no mesmo format que se encontra na sua tabela. So assim funciona.

     


    Just Be Humble Malange!
    quarta-feira, 3 de novembro de 2010 13:24
    Moderador
  • Ronaldo,

    Qual banco de dados você está utilizando? Tente converter tudo para o formato yyyyMMdd, tanto o seu campo data da sua tabela quanto as variáveis que você está utilizando para filtrar...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quinta-feira, 4 de novembro de 2010 22:02
    Moderador