Tema: Sumar Horas
Ver Mensaje Individual
  #3  
Antiguo 26-01-2008
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Reputación: 19
BuenaOnda Va por buen camino
Smile

eso intente, pero me da error, ademas hice lo siguiente..

Código SQL [-]
 
Declare @Fecha as smalldatetime
Declare @FechaM as smalldatetime
--Sacamos la Maxima Fecha Actual...
  Set @Fecha=(Select Max(FechaControl)
                From Control)    
--Obtenemos la Fecha de 4 meses Atraz...     
  Set @FechaM=(DATEADD(mm, -4, @Fecha) ) 

--select @FechaM as max

Select Tiempo.div,Tiempo.DivName,Semana=dbo.ObtenerSemana(Tiempo.FechaControl),
       Times=CONVERT(DATETIME, 
       CONVERT (CHAR (3), SUM (DATEPART(MINUTE, Tiempo.TCD )) / 60 + SUM (DATEPART(HOUR, Tiempo.TCD)) ) + ':' + 
       CONVERT (CHAR (3), SUM (DATEPART(minute, Tiempo.TCD )) + (SUM(DATEPART(second, Tiempo.TCD))/60) % 60)+ ':' +
       CONVERT (CHAR (3), SUM (DATEPART(second, Tiempo.TCD )) % 60)), Anio=0
  From(Select a1.div,DivName=Case a1.div When 42 Then 'MENDOZA'
                                         When 43 Then 'CORDOVA'     
                                         When 44 Then 'BUENOS AIRES' End,    
              A1.LocName as Origen, A.LocOrigen,A2.LocName as Destino, A.LocDestino,A.HrEntrada,A.HrSalida,A.FechaControl ,
              TCD=cast( (A.HrSalida - A.HrEntrada) as datetime)--,
              --TCD=left(convert(varchar,(A.HrSalida - A.HrEntrada), 108), 8)
         From Control A
        Inner Join LocNames  As A1
           On A1.Loc=A.LocOrigen 
        Inner Join LocNames  As A2
           On A2.Loc=A.LocDestino
        Where A.FechaControl >=@FechaM) Tiempo 
  Group By Tiempo.div,Tiempo.DivName,dbo.ObtenerSemana(Tiempo.FechaControl)

eso funciona bien, pero cuando la cantidad de minutos es sobrepasada, osea la suma de minutos es superior a 60, arroja error...

Muchas gracias por tu ayuda..
Responder Con Cita