GARANTIR DESCONTO

Fórum Como Somar um campo do tipo Varchar #58822

08/09/2007

0

olá, preciso muito da ajuda de vc´s

eu enfrento o seguinte problema:

eu tenho um sistema que controla as frequencias de funcionarios.
até aki blz.
o problema acontece quando um funcionario troca de lotação detro de periodo, período esse q é de 1 a 30 de cada mês, pq ao lançar a frequancia desse funcionario oq ocorre. digamos q ele estava lotado no setor 1 e foi relotato para o setro 2 dia 15, nesse período ele tera sua frequencia informada 14 dias pelo setor 1 e 15 dias pelo setor 2 ok. até ai blz eu fiz o seguinte select:
[b:87c1fd2f93]
Select fc.id_funcionario, fc.matricula, fc.nm_funcionario,
Sum(fq.qt_trab)as TotalDiasTrab

from lotacao l, frequencia fq, funcionario fc, unidade_setor us
where
fq.id_lotacao = l.id_lotacao and
l.id_unidade_setor = us.id_unidade_setor and
l.id_funcionario = fc.id_funcionario and
fq.dt_periodo = ´2007-08-01´

group by fc.id_funcionario, fc.matricula, fc.nm_funcionario
[/b:87c1fd2f93]

Esse select resolve meu problema em parte ele soma as frequecia no período q o funcionario tiver. [b:87c1fd2f93]Bem mas agora vem meu problema eu tenho um campo nome ´obs´ tipo varchar(255) na tabela frequencia que eu preciso juntar. [/b:87c1fd2f93]

COMO EU FAÇO PARA SOMAR ESSE CAMPO ´OBS´ NESSE SELECT?


Izidoriojr

Izidoriojr

Responder

Posts

08/09/2007

Pestana_

eu não entendi direito, mas tem uma função no Interbase/Firebird chamado [b:4117a6bb20]CAST[/b:4117a6bb20] que converte tipo de dado em outro, se o tipo do campo [b:4117a6bb20]obs[/b:4117a6bb20] for varchar e conter somente números, então você pode converter no select para numéricos e depois efetuar a soma com outro compo do mesmo tipo. ex.:

CAST(obs as integer) + campo


verifique se funciona,
flw.


Responder

Gostei + 0

08/09/2007

Izidoriojr

flw pela ajuda mas
Não vai funcionar eu quero somar o conteudo dos campos tipo concatenar.
a tabela frequencia vai estar assim:

idFuncionario:1
Periodo: 08/2007
setor: 1
qt_trab: 14
obs: Ficou lotado no Setor 1, até o dia 14/08/2007.

idFuncionario:1
Periodo: 08/2007
setor: 2
qt_trab: 26
obs: Inicio da Lotacao no setor 2, dia 15/08/2007.

agora com o select eu preciso do seguinde resultado:

idFuncionario: 1
Periodo: 08/2007
TotaldiasTrab: 30
obs: Ficou lotado no Setor 1, até o dia 14/08/2007.Inicio da Lotacao no setor 2, dia 15/08/2007.


falew pela ajuda


Responder

Gostei + 0

10/09/2007

Pestana_

idFuncionario:1 Periodo: 08/2007 setor: 1 qt_trab: 14 obs: Ficou lotado no Setor 1, até o dia 14/08/2007. idFuncionario:1 Periodo: 08/2007 setor: 2 qt_trab: 26 obs: Inicio da Lotacao no setor 2, dia 15/08/2007.


este dois registros estão na mesma tabela? caso não, informe as tabelas.


aguardo,
pestana.


Responder

Gostei + 0

11/09/2007

Izidoriojr

Sim estes dados estão na mesma tabela por isso minha dificuldade.

Eu inclusive criei um campo lookup no ClientDataSet mas quando eu exporto pro excel so vai uma linha do Campo ´Obs´.

flw pela Força colega Pestana
att
Izidorio Jr.


Responder

Gostei + 0

11/09/2007

Pestana_

acho que no select não tem como fazer isso.

Depois de ter executado o select você armazena os valores do campo Obs em uma variavel do tipo String atravês de um Loop, não da certo?


flw.


Responder

Gostei + 0

12/09/2007

Emerson Nascimento

acho que somente com stored procedure


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar