Criação de Consulta com SQL utilizando SUM

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

Não passei
mas para consultas como estas, eu particularmente prefiro criar uma view no banco e fazer a consulta usando a view

Sim, vi aqui no fórum que geralmente quando há este tipo de problema, o pessoal utiliza deste recurso para resolver, mas neste caso, complica um pouco, pois o banco não é meu. E realmente seria interessante saber se é um BUG, pois com o mesmo comando em outra ferramenta RAD para PHP, consegui gerar a tela de consulta.

eu também estou com esse tipo de problema.

onde faço um CAST um CONVERT(VARCHAR(12),Cast(L1.L1_EMISSAO as date),103) AS EMISSAO, funciona até que eu coloque o campo para exibir, da erro de acesso.

Gama, para selects deste tipo, costumo usar view. O scriptcase se perde com esses selects cheio de funções, joins, etc.

O problema real é que o SC manipula o SQL final outra vez ou seja dependendo de como for feito seu SQL em base aos Groups by ele vai dar erro mesmo…
Por isso a questão é resolvida com Views

Obrigado pela explicação Willian. Abraço!!!

obrigado pessoal.

Bem observado William, trabalho muito com SUM e uma correção paliativa que sempre encontro é colocar o nome do campo SUM como um campo que existe, exemplo:

– select código, sum(total) as valor_total *** provavelmente dará erro
– select código, sum(total) as total *** provavelmente dará certo

Além de VIEWS para consultas, as vezes temos que editar o que esta na view e se for varias tabelas relacionadas, eu crio um arquivo tmp_ com o código do usuário e exporto/importo usando comandos do mysql com isso eu uso app fórmulário também para fazer edição avançada de VIEW.