none
consulta de hora por funcionario e data. RRS feed

  • Pergunta

  • Olá a todos.

    estou estudando SQL e me deparei com uma situação interessante, quis realizar uma soma de horas e com uma ajuda cheguei a solução. Este comando soma a hora e lista todos os funcionarios.

    Agora gostaria de fazer essa soma de horas, mas escolhendo um determinado periodo de tempo e mostrar somente de um determinado funcionario.

    WITH somahora As (

      SELECT cod_funcioanrio, data, hora, entrada,

      CASE entrada WHEN 's' THEN DateDiff(MI,data,hora)

       ELSE -DateDiff(MI,data,hora) END As Dif

       FROM tbl_ponto)

    SELECT cod_funcionario,

        RIGHT('0' + CAST(SUM(Dif) / 60 As VARCHAR(2)),2) + ':' +

        RIGHT('0' + CAST(SUM(Dif) % 60 As VARCHAR(2)),2) As CargaHoraria

    FROM somahora Group by cod_funcionario

     

    desde já agradeço a ajuda

    quarta-feira, 4 de janeiro de 2012 18:33

Respostas

  • Boa tarde

     

    Acho que neste caso você pode adicionar a clausula Where com as condições que deseja na CTE (após FROM tbl_ponto).

     

    Espero que seja útil.

     


    Assinatura: Imobiliarias em Suzano
    • Marcado como Resposta Harley Araujo sexta-feira, 6 de janeiro de 2012 12:29
    quarta-feira, 4 de janeiro de 2012 19:22
  • Eduardo,

    Não seria o caso de especificar clausula where a condição que você deseja filtrar!

    Outra coisa, porque você esta utilizando CTE, sinceramente acredito que neste caso não seja necessário.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    • Marcado como Resposta Harley Araujo sexta-feira, 6 de janeiro de 2012 12:29
    quinta-feira, 5 de janeiro de 2012 00:03

Todas as Respostas

  • Boa tarde

     

    Acho que neste caso você pode adicionar a clausula Where com as condições que deseja na CTE (após FROM tbl_ponto).

     

    Espero que seja útil.

     


    Assinatura: Imobiliarias em Suzano
    • Marcado como Resposta Harley Araujo sexta-feira, 6 de janeiro de 2012 12:29
    quarta-feira, 4 de janeiro de 2012 19:22
  • Eduardo,

    Não seria o caso de especificar clausula where a condição que você deseja filtrar!

    Outra coisa, porque você esta utilizando CTE, sinceramente acredito que neste caso não seja necessário.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    • Marcado como Resposta Harley Araujo sexta-feira, 6 de janeiro de 2012 12:29
    quinta-feira, 5 de janeiro de 2012 00:03