Performance SQL

17/05/2010

0


  Galera, 
 Alguem pode me dar uma ajuda com este comando SQL?

Acredito que possa ser melhorado: 
SELECT   F.CodFunc, B.Data, U.CodUnidade, U.Descricao as DescPredio, F.Emp, F.Nome, H.*, S.*, DtFeriado = case when Fe.DtFeriado is not null then 'X' end, B.HrIni1, B.HrFim1, B.HrIni2, B.HrFim2, B.Abono, IsNull(CONVERT ( CHAR(5) , HRINI1 , 8 ), '__:__') AS HRINIFORMAT, IsNull(CONVERT ( CHAR(5) , HRFIM1 , 8 ), '__:__') AS HRFIMFORMAT, IsNull(CONVERT ( CHAR(5) , HRINI2 , 8 ), '__:__') AS HRINI2FORMAT, IsNull(CONVERT ( CHAR(5) , HRFIM2 , 8 ), '__:__') AS HRFIM2FORMAT, DtFeriado, LTrim(RTrim(F.NumCtps)) + '.'+ LTrim(RTrim(F.SerCTPS)) +'-' + LTrim(RTrim(F.UFCTPS)) As CTPS , Adm = '', HrsTrab = (SELECT SUM(DATEDIFF( HH, HRINI, HRFIM )) FROM HORARIOS WHERE CODFUNC = B.CodFunc ) - (( Select Count(*) From Horarios Where CodFunc = B.CodFunc ) * ( Select IsNull(MinAlmoco,0) From Func Where CodFunc = B.CodFunc ) / 60), C.NomeCargo, F.MinAlmoco, AbreviadoFormat = S.Abreviado + '.', Cast( LTrim(RTrim(F.MinAlmoco)) as Char(2) ) + ' min.' as MinFormat, IsNull( Convert( Char(5) , H.HrIni  , 8 ), '' ) As HrEntrada, IsNull( Convert( Char(5) , H.HrFim  , 8 ), '' ) As HrSaida, Case When H.CodDia is null OR Fe.DtFeriado is not null then 'X' End as DiasNTrabFROM BATIDAS B INNER JOIN FUNC F ON F.CODFUNC = B.CODFUNCInner Join Unidade U On U.CodUnidade = F.CodUnidadeLeft Join Feriados Fe On Fe.DtFeriado = B.DataInner Join Cargo C On C.CodCargo = F.CodCargoLeft Join Horarios H On H.CodDia =  DatePart( Dw , Data) And H.CodFunc = F.CodFuncLeft Join Semana S On S.CodDia =  DatePart( Dw , Data)WHERE DATA BETWEEN '2010-05-17' AND '2010-05-17'And F.Tipo = 'F'Order By F.CodFunc , Data
Onde 
Func: Tabela de Funcionarios do SistemaHorarios: Tabela dos horarios trabalhado pelo funcionario. Ex.: Quinta-Feira: 08:00 18:00 e assim por dianteBatidas: Tabela do registro de batidas do funcionario... Dia e HorariosFeriados: Tabela contendo os feriadosSemana: Tabela auxiliar informando o dia da semana e sua abreviacao
Obrigado 
Fernando /@ftremonti

Fernando /@ftremonti

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar