Olá a todos.
Fui criar um consulta utilizando o comando abaixo e o scriptcase não aceitou, ficou processando, processando até que reiniciei o apache.
Em qualquer ferramenta de consulta SQL o comando funciona, no próprio Scriptcase, utilizando o SQL Builder, eu tenho o retorno dos dados, tentei uma variante do comando, mas também travou. Isto seria um BUG ou o eu teria que trazer os dados individualmente, tratar o campo tipo hora para decimal (o Scriptcase não realiza soma com campos do tipo hora), realizar a soma e depois utilizar a totalização?
Alguém já passou por isso?
Grato pela atenção.
Código utilizado - Banco Firebird:
Select
APURACAO.FUN_CODIGO,
FUNCIONARIOS.FUN_NOME,
((Sum(APURACAO.APU_HORAS_PREVISTAS - Cast('00:00:00.000' As TIME))) / 3600) As PREVISTAS,
((Sum(APURACAO.APU_HORAS_NORMAIS - Cast('00:00:00.000' As TIME))) / 3600) As NORMAIS,
((Sum(APURACAO.APU_HORAS_EXTRAS_AUT - Cast('00:00:00.000' As TIME))) / 3600) As EXTRA_AUT,
((Sum(APURACAO.APU_HORAS_EXTRAS_N_AUT - Cast('00:00:00.000' As TIME))) / 3600) As EXTRA_NAO_AUT,
((Sum(APURACAO.APU_ATRASOS - Cast('00:00:00.000' As TIME))) / 3600) As ATRASOS
From
FUNCIONARIOS,
APURACAO
Where
FUNCIONARIOS.FUN_CODIGO = APURACAO.FUN_CODIGO And
APURACAO.APU_DATA >= '2015-09-25' And APURACAO.APU_DATA <= '2015-10-24'
Group By
APURACAO.FUN_CODIGO, FUNCIONARIOS.FUN_NOME
Tentei também com esse:
Select
APURACAO.FUN_CODIGO,
APURACAO.APU_DATA,
FUNCIONARIOS.FUN_NOME,
CAST(SUM(
EXTRACT( HOUR FROM APURACAO.APU_HORAS_PREVISTAS ) * 3600 +
EXTRACT( MINUTE FROM APURACAO.APU_HORAS_PREVISTAS ) * 60 +
EXTRACT( SECOND FROM APURACAO.APU_HORAS_PREVISTAS )
) AS DECIMAL(10,2))/3600 AS PREVISTAS,
CAST(SUM(
EXTRACT( HOUR FROM APURACAO.APU_HORAS_NORMAIS ) * 3600 +
EXTRACT( MINUTE FROM APURACAO.APU_HORAS_NORMAIS ) * 60 +
EXTRACT( SECOND FROM APURACAO.APU_HORAS_NORMAIS )
) AS DECIMAL(10,2))/3600 AS NORMAIS,
CAST(SUM(
EXTRACT( HOUR FROM APURACAO.APU_HORAS_EXTRAS_AUT ) * 3600 +
EXTRACT( MINUTE FROM APURACAO.APU_HORAS_EXTRAS_AUT ) * 60 +
EXTRACT( SECOND FROM APURACAO.APU_HORAS_EXTRAS_AUT )
) AS DECIMAL(10,2))/3600 AS EXTRA_AUT,
CAST(SUM(
EXTRACT( HOUR FROM APURACAO.APU_HORAS_EXTRAS_N_AUT ) * 3600 +
EXTRACT( MINUTE FROM APURACAO.APU_HORAS_EXTRAS_N_AUT ) * 60 +
EXTRACT( SECOND FROM APURACAO.APU_HORAS_EXTRAS_N_AUT )
) AS DECIMAL(10,2))/3600 AS EXTRA_NAO_AUT,
CAST(SUM(
EXTRACT( HOUR FROM APURACAO.APU_ATRASOS ) * 3600 +
EXTRACT( MINUTE FROM APURACAO.APU_ATRASOS ) * 60 +
EXTRACT( SECOND FROM APURACAO.APU_ATRASOS )
) AS DECIMAL(10,2))/3600 AS ATRASOS
From
FUNCIONARIOS,
APURACAO
Where
FUNCIONARIOS.FUN_CODIGO = APURACAO.FUN_CODIGO
Group By
APURACAO.FUN_CODIGO,
APURACAO.APU_DATA,
FUNCIONARIOS.FUN_NOME