none
Select para relatório de ponto RRS feed

  • Pergunta

  • Ola Pessoal,

     

    Estou com o seguinte problema:

    Preciso desenvolver uma query que pegue, a partir de uma tabela de eventos com campo (datetime: '2008-06-29 03:18:43.000') , o primeiro evento e o ultimo evento do dia. Para isso estou usando o comando MIN e MAX, mas não estou conseguindo.

     

    É a mesma ideia de um relogio de ponto, onde é mostrado o primeiro e a ultima leitura do crachá.

     

    Alguem tem um exemplo para me passar?

     

    Obrigada,

    Faby

    sexta-feira, 8 de agosto de 2008 22:00

Todas as Respostas

  • Boa Noite,

     

    Confesso que do ponto de vista do desempenho não é o tipo de solução que costumo utilizar, mas não encontrei uma forma melhor de fazer. Segue o script abaixo:

     

    Code Snippet

    CREATE TABLE tblTeste (IdFuncionario INT, Data DATETIME)

     

    INSERT INTO tblTeste VALUES (1,'20080808 00:10')

    INSERT INTO tblTeste VALUES (1,'20080808 06:30')

    INSERT INTO tblTeste VALUES (1,'20080808 08:00')

    INSERT INTO tblTeste VALUES (1,'20080808 12:00')

    INSERT INTO tblTeste VALUES (2,'20080808 12:15')

    INSERT INTO tblTeste VALUES (2,'20080808 18:45')

    INSERT INTO tblTeste VALUES (2,'20080808 20:00')

    INSERT INTO tblTeste VALUES (2,'20080808 23:00')

    INSERT INTO tblTeste VALUES (1,'20080809 00:06')

    INSERT INTO tblTeste VALUES (1,'20080809 06:32')

    INSERT INTO tblTeste VALUES (1,'20080809 07:58')

    INSERT INTO tblTeste VALUES (1,'20080809 12:15')

    INSERT INTO tblTeste VALUES (2,'20080809 12:30')

    INSERT INTO tblTeste VALUES (2,'20080809 18:57')

    INSERT INTO tblTeste VALUES (2,'20080809 20:03')

    INSERT INTO tblTeste VALUES (2,'20080809 23:12')

     

    SELECT IDFuncionario, CONVERT(CHAR(10),Data,103) AS Data,

    MIN(Data) AS PrimeiroRegistro, MAX(Data) AS UltimoRegistro

    FROM tblTeste

    GROUP BY IDFuncionario, CONVERT(CHAR(10),Data,103)

     

    DROP TABLE tblTeste

     

    [ ]s,

     

    Gustavo

    sábado, 9 de agosto de 2008 02:15