GARANTIR DESCONTO

Fórum Pegar dados #357403

21/04/2008

0

Como eu faço para pegar o primeiro e o ultimo registro inserido em uma tabela.


preciso saber qual foi o primeiro e o ultimo registro enserido em uma tabela.

Exemplo:

no dia 01/04/2008 eu lanço o primeiro cadastro e no dia 30/04/2008 eu lanço o ultimo

terei q pegar esses dois cadastros e mostrar em um relatorio.


Tchucky

Tchucky

Responder

Posts

21/04/2008

Catunda

Se vc utiliza uma chave primarioa na tabela pode fazer assim:

select min(chave) as primeiro, max(chave) as ultimo from tabela
where datalancamento between :data1 and :data2

onde os parâmetros data1 e data2 são as datas inicial e final do período que vc quer pesquisar.


Responder

Gostei + 0

21/04/2008

Roger1976

caro Tchucky, dentro da sua dúvida, fiz um teste e cheguei à seguinte instrução sql:

select NOME, DATA
from TESTE
where DATA = (select min(DATA) from TESTE)
or DATA = (select max(DATA) from TESTE)


Caso não seja isso, por favor, dê um retorno e se possível dê mais detalhes.


Responder

Gostei + 0

21/04/2008

Tchucky

Catunda eu uso chave primaria sim mas usando Max e Min ele so vai m mostrar o campo maior e o menos mas eu tenho que mostrar não so o codigo mas sim um selo usado na confecção de extintores...eu tenho ja uma rotina mas ele so m mostra o maior selo e o menor selo

sendo q ele tem q m mostrar o primeiro e o ultimo a rotina é essa;

// recuperar o primeiro selo do periodo....
   DB_FaixaDeSelos.Close;
   DB_FaixaDeSelos.sql.clear;
   DB_FaixaDeSelos.sql.add(´SELECT MIN(SELO) AS MINIMO ´);
   DB_FaixaDeSelos.sql.add(´  FROM EXTINTORES_ITENS    ´);
   DB_FaixaDeSelos.sql.add(´ WHERE CODIGO = (SELECT MIN(CODIGO) FROM EXTINTOR       ´);
   DB_FaixaDeSelos.sql.add(´                   WHERE DATA >= :Data1 AND DATA <= :Data2) ´);
   DB_FaixaDeSelos.ParamByName(´Data1´).AsDateTime :=DataIni;
   DB_FaixaDeSelos.ParamByName(´Data2´).AsDateTime :=DataFim;
   DB_FaixaDeSelos.Open;
   QRLabel9.caption   := DB_FaixaDeSelos.FieldByName(´MINIMO´).AsString;

   // recuperar o último selo do periodo....
   DB_FaixaDeSelos.Close;
   DB_FaixaDeSelos.sql.clear;
   DB_FaixaDeSelos.sql.add(´SELECT MAX(SELO) AS MAXIMO ´);
   DB_FaixaDeSelos.sql.add(´  FROM EXTINTORES_ITENS    ´);
   DB_FaixaDeSelos.sql.add(´ WHERE CODIGO = (SELECT MAX(CODIGO) FROM EXTINTOR        ´);
   DB_FaixaDeSelos.sql.add(´                   WHERE DATA >= :Data1 AND DATA <= :Data2) ´);
   DB_FaixaDeSelos.ParamByName(´Data1´).AsDateTime :=DataIni;
   DB_FaixaDeSelos.ParamByName(´Data2´).AsDateTime :=DataFim;
   DB_FaixaDeSelos.Open;
   QRLabel12.caption  := DB_FaixaDeSelos.FieldByName(´MAXIMO´).AsString;
   DB_FaixaDeSelos.Close;



Responder

Gostei + 0

21/04/2008

Tchucky

como naum da para editar esqueci de sitar um exemplo no meu relatorio eu tenho q mostrar ele dessa forma:


Número de Selos do Inmetro:

Selo: xxxxx À xxxxxx


Responder

Gostei + 0

23/04/2008

Tchucky

ajuda ai gente


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar