DUVIDAS EM CLAUSULA SQL

 Tópico anterior Próximo tópico Novo tópico

DUVIDAS EM CLAUSULA SQL

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#350716 - 19/08/2010 15:32:57

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Última edição em 19/08/2010 15:59:40 por LCSD

Pessoal, boa tarde....


Bom, eu tenho uma tabela com a seguinte estrura:

CodAluno
Data
HoraEntrada
(dentre outros campos que no iro me interessar)

Nesta tabela, eu estou colocando TODAS as passagens dos alunos da academia, tanto ENTRADA como SADA....... At a, est funcionando muito bem o meu sistema.
S que eu agora preciso fazer um relatrio com a seguinte condio:

Quero pegar TODOS os alunos que passaram pela academia no perodo de 01/07/2010 a 31/07/2010.
S que eu quero neste SELECT que me aparea SOMENTE o primeiro acesso deste aluno na academia, e no TODOS os acessos dele neste perodo.

Como que eu fao a clusula SQL para pegar TODOS os alunos nesta minha tabela PASSAGEM, onde eu quero que aparea para mim somente o primeiro acesso de cada aluno nesta minha clusula...... Ser que conseguiram entender???? rsrs



Abraos e conto com a ajuda de vocs......

  
Quando precisar, pode contar comigo....
E quando precisar, no esquea de agradecer, pois a educao a ALMA DO NEGCIO...


Obrigado.

Luiz Cesar

#350727 - 19/08/2010 16:44:35

MARCIO ROGERIO
KALORE
Cadast. em:Dezembro/2003


Ol,

talvez isto funcione :

select min(data), data, codaluno, horaentrada from tabela
group by data, codaluno, horaentrada

At,

Rogrio.



#350730 - 19/08/2010 16:53:59

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Caro Marcio, no funcionou.....


O que eu quero o seguinte:
Tenho a tabela com estes dados

CodAluno               Data                 Hora
10                           01/07/2010       15:00
22                           01/07/2010       15:03
25                           01/07/2010       18:00
50                           01/07/2010       20:00
10                           02/07/2010       14:00
20                           02/07/2010       18:00
25                           03/07/2010        09:00


O que eu quero fazer um SELECT com estes dados, para me trazer os seguintes dados:

CodAluno               Data                 Hora
10                           01/07/2010       15:00
22                           01/07/2010       15:03
25                           01/07/2010       18:00
50                           01/07/2010       20:00
20                           02/07/2010       18:00

Obrigado

  
Quando precisar, pode contar comigo....
E quando precisar, no esquea de agradecer, pois a educao a ALMA DO NEGCIO...


Obrigado.

Luiz Cesar

#350732 - 19/08/2010 17:07:15

F001E
IBITINGA/SP
Cadast. em:Novembro/2004


acho q se vc tivesse um campo Sequencia de Lanamento nessa Tabela Passagem...daria certo...
pq dai vc fazia um Select entre Periodos com a Menor Sequencia de Cada Aluno...dai sim vc Teria o Primeiro Acesso...



#350734 - 19/08/2010 17:15:32

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Caro FERNANDO,

Mesmo se eu tivesse esa tal sequencia, seria muito mais complicado e deixaria o sistema um pouco mais []lento[], pois teria que fazer mais um SELECT na tabela para poder ver qual a seguencia, adicionar 1 e gravar.....
No pude fazer isso, ento a soluo foi esta mesma....

Eu sei que d pra matar em uns 2 selects este problema, mas no estou conseguindo bolar isso.... Mas sei sim que possvel e bem simples....

  
Quando precisar, pode contar comigo....
E quando precisar, no esquea de agradecer, pois a educao a ALMA DO NEGCIO...


Obrigado.

Luiz Cesar

#350735 - 19/08/2010 17:25:54

ONBASS
BAHIA
Cadast. em:Janeiro/2006


tenta bolar com ..

SELECT DISTINCT no codigo e data menor..

agora to meio ocupado...senao tentava


[]Porque Deus enviou o seu Filho ao mundo, no para que condenasse o mundo, mas para que o mundo fosse salvo por ele.[] (Joo 3:17)



#350737 - 19/08/2010 17:47:30

F001E
IBITINGA/SP
Cadast. em:Novembro/2004


mas nesse caso coloca o Campo como Autonumerador..ou seja o Banco Soma + 1...fazendo isso no fica Lento..Agora Select Max e gravar...ae fica Lento...concordo com vccc



Resposta escolhida #350747 - 19/08/2010 20:27:12

MARCELO-TREZE
SAO VICENTE
Cadast. em:Abril/2009


Última edição em 19/08/2010 20:33:21 por MARCELO-TREZE

Eu acredito que o MARCIO ROGRIO matou a charada acredito que a idia dele resolva mudando apenas um campo assim

SELECT CodAluno ,Data ,MIN(HoraEntrada) FROM tabela
ORDER BY codaluno, Data, HoraEntrada





________________________________________________________________________________________
O orgulho cega at os sbios, ao ponto de no percebam que no so to sbios como pensam.



#350802 - 20/08/2010 14:05:48

JCARLOS
PRESIDENTE PRUDENTE
Cadast. em:Março/2010


Ol LCSD possvel sim.
[]Select CodAluno,min(data) as Data, min(HoraEntrada) as HoraEntrada from Passagem where data>=convert(datetime,[]2010-07-31[],102) AND data<convert(datetime,[]2010-08-01[],102)  group by data[]
No exemplo acima, o comando pro sqlServer, se for pra acces s ajustar o formato da data, ok?
Abraos.




 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LCSD em 28/01/2020 10:15:26