Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Fabio Costa

Inativos
  • Total de itens

    20
  • Registro em

  • Última visita

Sobre Fabio Costa

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Conquistas de Fabio Costa

Aprendiz

Aprendiz (3/10)

  • Primeiro Post
  • Colaborador
  • Iniciador de Conversa
  • Primeira Semana Concluída
  • Primeiro Mês Completo

Distintivos Recentes

0

Reputação

  1. Fabio Costa

    Consulta INSS e FGTS

    Olá André, vc conseguiu uma solução para este caso ? Estou com o mesmo problema. Sei que posso tirar o valor Base de FGTS e de INSS de uma tabela, a PFPERFF, que são os campos, BASEINSS e BASEFGTS, porém esse não é o valor "real" que a empresa recolhe. A partir desses valores é feito um cálculo. Estou precisando muito saber, como esse cálculo é feito! Abraços.
  2. Pessoal, consegui aqui, quem tiver interesse segue a solução: DECLARE @DATA DATETIME , @COLIGADA_INI INT , @COLIGADA_FIM INT SET @DATA = :PLN_$B$3_N SET @COLIGADA_INI = :PLN_$B$1_N SET @COLIGADA_FIM = :PLN_$B$2_N SELECT FIM.CODCOLIGADA , FIM.NOME_COLIGADA , FIM.MATRICULA , FIM.FUNCIONARIO , FIM.COD_FUNCAO , FIM.FUNCAO , FIM.COD_CARGO , FIM.NOME_CARGO , FIM.COD_CENTRO_CUSTO , FIM.NOME_CENTRO_CUSTO , FIM.COD_SECAO , FIM.NOME_SECAO , FIM.ESTADO_SECAO , FIM.CIDADE_SECAO , FIM.ADMISSAO , FIM.SALARIO , FIM.SITUACAO , FIM.IDADE , SUM(FIM.SALARIO_FAMILIA) AS SALARIO_FAMILIA , SUM(FIM.PERICULOSIDADE) AS PERICULOSIDADE , FIM.CIDADE , FIM.ESTADO , FIM.SEXO , FIM.GRAU_INSTRUCAO , FIM.ESTADO_CIVIL , FIM.CPF , FIM.TIPO_FUNC FROM(SELECT GCOLIGADA.CODCOLIGADA AS CODCOLIGADA , GCOLIGADA.NOMEFANTASIA AS NOME_COLIGADA , PFUNC.CHAPA AS MATRICULA , PPESSOA.NOME AS FUNCIONARIO , PFUNCAO.CODIGO AS COD_FUNCAO , PFUNCAO.NOME AS FUNCAO , PCARGO.CODIGO AS COD_CARGO , PCARGO.NOME AS NOME_CARGO , PCCUSTO.CODCCUSTO AS COD_CENTRO_CUSTO , PCCUSTO.NOME AS NOME_CENTRO_CUSTO , PFUNC.CODSECAO AS COD_SECAO , PSECAO.DESCRICAO NOME_SECAO , PSECAO.CIDADE AS CIDADE_SECAO , PSECAO.ESTADO AS ESTADO_SECAO , PFUNC.DATAADMISSAO AS ADMISSAO , (SELECT TOP 1 PFHSTSAL.SALARIO FROM PFHSTSAL WHERE PFUNC.CHAPA = PFHSTSAL.CHAPA AND PFUNC.CODCOLIGADA=PFHSTSAL.CODCOLIGADA AND PFHSTSAL.DTMUDANCA <= @DATA ORDER BY PFHSTSAL.DTMUDANCA DESC) AS SALARIO , PCODSITUACAO.DESCRICAO AS SITUACAO , PPESSOA.CPF AS CPF , PSINDIC.NOME AS SINDICATO , PPESSOA.DTNASCIMENTO AS DATA_NASCIMENTO , CASE WHEN MONTH(PPESSOA.DTNASCIMENTO) > MONTH(GETDATE()) OR DAY(PPESSOA.DTNASCIMENTO) > DAY(GETDATE()) THEN YEAR(GETDATE()) - YEAR(PPESSOA.DTNASCIMENTO)-1 ELSE YEAR(GETDATE()) - YEAR(PPESSOA.DTNASCIMENTO) END AS IDADE , PPESSOA.SEXO AS SEXO , PCODINSTRUCAO.DESCRICAO AS GRAU_INSTRUCAO , PCODESTCIVIL.DESCRICAO AS ESTADO_CIVIL , SUM(CASE WHEN PEVENTO.DESCRICAO='SALARIO FAMILIA' THEN PFFINANC.VALOR ELSE 0 END) AS SALARIO_FAMILIA , SUM(CASE WHEN PEVENTO.DESCRICAO='PERICULOSIDADE' THEN PFFINANC.VALOR ELSE 0 END) AS PERICULOSIDADE , PPESSOA.CIDADE AS CIDADE , PPESSOA.ESTADO AS ESTADO , PTPFUNC.DESCRICAO AS TIPO_FUNC FROM GCOLIGADA LEFT JOIN PFUNC ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA LEFT JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA LEFT JOIN PFUNCAO ON PFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO LEFT JOIN PCARGO ON PCARGO.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PCARGO.CODIGO = PFUNCAO.CARGO AND PCARGO.CODCOLIGADA = GCOLIGADA.CODCOLIGADA LEFT JOIN PFRATEIOFIXO ON PFRATEIOFIXO.CODCOLIGADA=PFUNC.CODCOLIGADA AND PFRATEIOFIXO.CHAPA=PFUNC.CHAPA LEFT JOIN PCCUSTO ON PCCUSTO.CODCOLIGADA=PFRATEIOFIXO.CODCOLIGADA AND PCCUSTO.CODCCUSTO=PFRATEIOFIXO.CODCCUSTO LEFT JOIN PSECAO ON PSECAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND PSECAO.CODIGO=PFUNC.CODSECAO LEFT JOIN PCODSITUACAO ON PFUNC.CODSITUACAO=PCODSITUACAO.CODCLIENTE LEFT JOIN PSINDIC ON PSINDIC.CODCOLIGADA=PFUNC.CODCOLIGADA AND PSINDIC.CODIGO=PFUNC.CODSINDICATO LEFT JOIN PFFINANC ON PFFINANC.CODCOLIGADA=PFUNC.CODCOLIGADA AND PFFINANC.CHAPA=PFUNC.CHAPA LEFT JOIN PEVENTO ON PEVENTO.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PEVENTO.CODIGO=PFFINANC.CODEVENTO LEFT JOIN PCODESTCIVIL ON PCODESTCIVIL.CODCLIENTE=PPESSOA.ESTADOCIVIL LEFT JOIN PFRATEIOTOMADOR ON PFRATEIOTOMADOR.CODCOLIGADA=PFUNC.CODCOLIGADA AND PFRATEIOTOMADOR.CHAPA=PFUNC.CHAPA LEFT JOIN PCODINSTRUCAO ON PCODINSTRUCAO.CODCLIENTE=PPESSOA.GRAUINSTRUCAO LEFT JOIN PTPFUNC ON PTPFUNC.CODCLIENTE=PFUNC.CODTIPO LEFT JOIN PFHSTSIT ON PFHSTSIT.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTSIT.CHAPA = PFUNC.CHAPA LEFT JOIN PFHSTSAL ON PFHSTSAL.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTSAL.CHAPA = PFUNC.CHAPA WHERE GCOLIGADA.CODCOLIGADA NOT IN(2,8,9,16,18) AND PFUNC.CODSITUACAO NOT IN('U','O','I') AND PFUNC.CODTIPO NOT IN ('A', 'U', 'O') AND PFUNC.DATAADMISSAO <= @DATA AND GCOLIGADA.CODCOLIGADA >= @COLIGADA_INI AND GCOLIGADA.CODCOLIGADA <= @COLIGADA_FIM AND STR(GCOLIGADA.CODCOLIGADA)+PFUNC.CHAPA NOT IN(SELECT STR(PFHSTSIT.CODCOLIGADA)+CHAPA FROM PFHSTSIT WHERE NOVASITUACAO = 'D' AND DATAMUDANCA <= @DATA AND CODCOLIGADA >= @COLIGADA_INI AND CODCOLIGADA <= @COLIGADA_FIM) AND PFHSTSIT.DATAMUDANCA < ( SELECT MAX(DATAMUDANCA) FROM PFHSTSIT WHERE CODCOLIGADA >= @COLIGADA_INI AND CODCOLIGADA <= @COLIGADA_FIM AND DATAMUDANCA <= @DATA ) GROUP BY PCCUSTO.CODCCUSTO , GCOLIGADA.CODCOLIGADA , GCOLIGADA.NOMEFANTASIA , PFUNC.CHAPA , PPESSOA.NOME , PFUNCAO.CODIGO , PFUNCAO.NOME , PCARGO.CODIGO , PCARGO.NOME , PCCUSTO.NOME , PFUNC.CODSECAO , PSECAO.DESCRICAO , PFUNC.DATAADMISSAO , PFHSTSAL.SALARIO , PCODSITUACAO.DESCRICAO , PPESSOA.CPF , PSINDIC.NOME , PPESSOA.DTNASCIMENTO , PPESSOA.SEXO , PCODINSTRUCAO.DESCRICAO , PEVENTO.DESCRICAO , PPESSOA.CIDADE , PPESSOA.ESTADO , PCODESTCIVIL.DESCRICAO , PTPFUNC.DESCRICAO , PSECAO.CIDADE , PSECAO.ESTADO , PFUNC.CODCOLIGADA )FIM GROUP BY FIM.IDADE , FIM.CODCOLIGADA , FIM.NOME_COLIGADA , FIM.MATRICULA , FIM.FUNCIONARIO , FIM.COD_FUNCAO , FIM.FUNCAO , FIM.COD_CARGO , FIM.NOME_CARGO , FIM.COD_CENTRO_CUSTO , FIM.NOME_CENTRO_CUSTO , FIM.COD_SECAO , FIM.NOME_SECAO , FIM.ADMISSAO , FIM.SALARIO , FIM.SITUACAO , FIM.CIDADE , FIM.ESTADO , FIM.SEXO , FIM.GRAU_INSTRUCAO , FIM.ESTADO_CIVIL , FIM.CPF , FIM.TIPO_FUNC , FIM.ESTADO_SECAO , FIM.CIDADE_SECAO ORDER BY FIM.FUNCIONARIO Abraços!
  3. Não seria isso Alberto. A consulta está correta! Consegui fazendo deste jeito, colocando na cláusura WHERE o seguinte: PFHSTSIT.DATAMUDANCA < ( SELECT MAX(DATAMUDANCA) FROM PFHSTSIT WHERE CODCOLIGADA >= @COLIGADA_INI AND CODCOLIGADA <= @COLIGADA_FIM AND DATAMUDANCA <= @DATA ) Agora estou com um problema quando a pessoa tem o salário reajustado. Há uma tabela que guarda o histórico de salários de um funcionário, que é a PFHSTSAL. Ao colocar para puxar o salário dessa tabela, vem todos os salários que o funcionário já teve na empresa. Gostaria de saber como trazer somente o salário que o funcionário tinha naquela data e não todos os seus salários. Isso é mais complicado! rs
  4. Pessoal, estou com uma certa dificuldade em elaborar um relatório semelhante. A idéia dele é o seguinte: Este relatório deve trazer a foto dos funcionários que estão na empresa até uma determinada data, com esta sendo passada como parâmetro. Até ai tudo bem, só que há certas situações em que um funcionário se repete. Por exemplo: João trabalhou na empresa XPTO até o dia 16-01-2011 e no dia 17-01-2011 foi transferido para a empresa BSA. O relatório deveria trazer o João na empresa XPTO se eu passar a data 16-01-2011 como parâmetro. Se eu passar a data maior ou igual a 17-01-2011 ele vem na empresa BSA, só que ele vem duas vezes, tanto na empresa XPTO quanto na BSA. Essa foi a query que desenvolvi: DECLARE @DATA DATETIME, @COLIGADA_INI INT, @COLIGADA_FIM INT SET @DATA = '30-01-2011' SET @COLIGADA_INI=1 SET @COLIGADA_FIM=99 SELECT FIM.CODCOLIGADA , FIM.NOME_COLIGADA , FIM.MATRICULA , FIM.FUNCIONARIO , FIM.COD_FUNCAO , FIM.FUNCAO , FIM.COD_CARGO , FIM.NOME_CARGO , FIM.COD_CENTRO_CUSTO , FIM.NOME_CENTRO_CUSTO , FIM.COD_SECAO , FIM.NOME_SECAO , FIM.ESTADO_SECAO , FIM.CIDADE_SECAO , FIM.ADMISSAO , FIM.SALARIO , FIM.SITUACAO , FIM.IDADE , SUM(FIM.SALARIO_FAMILIA) AS SALARIO_FAMILIA , SUM(FIM.PERICULOSIDADE) AS PERICULOSIDADE , FIM.CIDADE , FIM.ESTADO , FIM.SEXO , FIM.GRAU_INSTRUCAO , FIM.ESTADO_CIVIL , FIM.CPF , FIM.TIPO_FUNC FROM ( SELECT GCOLIGADA.CODCOLIGADA AS CODCOLIGADA , GCOLIGADA.NOMEFANTASIA AS NOME_COLIGADA , PFUNC.CHAPA AS MATRICULA , PPESSOA.NOME AS FUNCIONARIO , PFUNCAO.CODIGO AS COD_FUNCAO , PFUNCAO.NOME AS FUNCAO , PCARGO.CODIGO AS COD_CARGO , PCARGO.NOME AS NOME_CARGO , PCCUSTO.CODCCUSTO AS COD_CENTRO_CUSTO , PCCUSTO.NOME AS NOME_CENTRO_CUSTO , PFHSEC.CODSECAO AS COD_SECAO , PSECAO.DESCRICAO NOME_SECAO , PSECAO.CIDADE AS CIDADE_SECAO , PSECAO.ESTADO AS ESTADO_SECAO , PFUNC.DATAADMISSAO AS ADMISSAO , PFHSAL.SALARIO AS SALARIO , PF.NOVASITUACAO AS SITUACAO , PPESSOA.CPF AS CPF , PSINDIC.NOME AS SINDICATO , PPESSOA.DTNASCIMENTO AS DATA_NASCIMENTO , CASE WHEN MONTH(PPESSOA.DTNASCIMENTO) > MONTH(GETDATE()) OR DAY(PPESSOA.DTNASCIMENTO) > DAY(GETDATE()) THEN YEAR(GETDATE()) - YEAR(PPESSOA.DTNASCIMENTO)-1 ELSE YEAR(GETDATE()) - YEAR(PPESSOA.DTNASCIMENTO) END AS IDADE , PPESSOA.SEXO AS SEXO , PCODINSTRUCAO.DESCRICAO AS GRAU_INSTRUCAO , PCODESTCIVIL.DESCRICAO AS ESTADO_CIVIL , SUM(CASE WHEN PEVENTO.DESCRICAO='SALARIO FAMILIA' THEN PFFINANC.VALOR ELSE 0 END) AS SALARIO_FAMILIA , SUM(CASE WHEN PEVENTO.DESCRICAO='PERICULOSIDADE' THEN PFFINANC.VALOR ELSE 0 END) AS PERICULOSIDADE , PPESSOA.CIDADE AS CIDADE , PPESSOA.ESTADO AS ESTADO , PTPFUNC.DESCRICAO AS TIPO_FUNC FROM GCOLIGADA LEFT JOIN PFUNC ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA LEFT JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA LEFT JOIN PFUNCAO ON PFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO LEFT JOIN PCARGO ON PCARGO.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PCARGO.CODIGO = PFUNCAO.CARGO AND PCARGO.CODCOLIGADA = GCOLIGADA.CODCOLIGADA LEFT JOIN PFRATEIOFIXO ON PFRATEIOFIXO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFRATEIOFIXO.CHAPA = PFUNC.CHAPA LEFT JOIN PCCUSTO ON PCCUSTO.CODCOLIGADA = PFRATEIOFIXO.CODCOLIGADA AND PCCUSTO.CODCCUSTO = PFRATEIOFIXO.CODCCUSTO LEFT JOIN PSECAO ON PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO LEFT JOIN PCODSITUACAO ON PCODSITUACAO.CODCLIENTE = PFUNC.CODSITUACAO LEFT JOIN PSINDIC ON PSINDIC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PSINDIC.CODIGO = PFUNC.CODSINDICATO LEFT JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA LEFT JOIN PEVENTO ON PEVENTO.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PEVENTO.CODIGO = PFFINANC.CODEVENTO LEFT JOIN PCODESTCIVIL ON PCODESTCIVIL.CODCLIENTE = PPESSOA.ESTADOCIVIL LEFT JOIN PFRATEIOTOMADOR ON PFRATEIOTOMADOR.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFRATEIOTOMADOR.CHAPA = PFUNC.CHAPA LEFT JOIN PCODINSTRUCAO ON PCODINSTRUCAO.CODCLIENTE = PPESSOA.GRAUINSTRUCAO LEFT JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO JOIN (SELECT * FROM PFHSTSIT WHERE PFHSTSIT.DATAMUDANCA <= @DATA AND PFHSTSIT.CODCOLIGADA >= @COLIGADA_INI AND PFHSTSIT.CODCOLIGADA <= @COLIGADA_FIM ) PF ON PF.CODCOLIGADA = PFUNC.CODCOLIGADA AND PF.CHAPA = PFUNC.CHAPA JOIN (SELECT * FROM PFHSTSEC WHERE PFHSTSEC.DTMUDANCA <= @DATA AND PFHSTSEC.CODCOLIGADA >= @COLIGADA_INI AND PFHSTSEC.CODCOLIGADA <= @COLIGADA_FIM ) PFHSEC ON PFHSEC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSEC.CHAPA = PFUNC.CHAPA JOIN (SELECT * FROM PFHSTSAL WHERE PFHSTSAL.DTMUDANCA <= @DATA AND PFHSTSAL.CODCOLIGADA >= @COLIGADA_INI AND PFHSTSAL.CODCOLIGADA <= @COLIGADA_FIM ) PFHSAL ON PFHSAL.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSAL.CHAPA = PFUNC.CHAPA WHERE GCOLIGADA.CODCOLIGADA NOT IN(2,8,9,16,18) AND PFUNC.CODSITUACAO NOT IN('U','O','I') AND PFUNC.CODTIPO NOT IN ('A', 'U', 'O') AND PFUNC.DATAADMISSAO <= @DATA AND GCOLIGADA.CODCOLIGADA >= @COLIGADA_INI AND GCOLIGADA.CODCOLIGADA <= @COLIGADA_FIM AND STR(GCOLIGADA.CODCOLIGADA)+PFUNC.CHAPA NOT IN(SELECT STR(PFHSTSIT.CODCOLIGADA)+CHAPA FROM PFHSTSIT WHERE NOVASITUACAO = 'D' AND DATAMUDANCA <= @DATA AND CODCOLIGADA >= @COLIGADA_INI AND CODCOLIGADA <=@COLIGADA_FIM) GROUP BY PCCUSTO.CODCCUSTO , GCOLIGADA.CODCOLIGADA , GCOLIGADA.NOMEFANTASIA , PFUNC.CHAPA , PPESSOA.NOME , PFUNCAO.CODIGO , PFUNCAO.NOME , PCARGO.CODIGO , PCARGO.NOME , PCCUSTO.NOME , PFHSEC.CODSECAO , PSECAO.DESCRICAO , PFUNC.DATAADMISSAO , PFHSAL.SALARIO , PF.NOVASITUACAO , PPESSOA.CPF , PSINDIC.NOME , PPESSOA.DTNASCIMENTO , PPESSOA.SEXO , PCODINSTRUCAO.DESCRICAO , PEVENTO.DESCRICAO , PPESSOA.CIDADE , PPESSOA.ESTADO , PCODESTCIVIL.DESCRICAO , PTPFUNC.DESCRICAO , PSECAO.CIDADE , PSECAO.ESTADO ) FIM GROUP BY FIM.IDADE , FIM.CODCOLIGADA , FIM.NOME_COLIGADA , FIM.MATRICULA , FIM.FUNCIONARIO , FIM.COD_FUNCAO , FIM.FUNCAO , FIM.COD_CARGO , FIM.NOME_CARGO , FIM.COD_CENTRO_CUSTO , FIM.NOME_CENTRO_CUSTO , FIM.COD_SECAO , FIM.NOME_SECAO , FIM.ADMISSAO , FIM.SALARIO , FIM.SITUACAO , FIM.CIDADE , FIM.ESTADO , FIM.SEXO , FIM.GRAU_INSTRUCAO , FIM.ESTADO_CIVIL , FIM.CPF , FIM.TIPO_FUNC , FIM.ESTADO_SECAO , FIM.CIDADE_SECAO ORDER BY FIM.FUNCIONARIO , FIM.NOME_COLIGADA , FIM.CODCOLIGADA , FIM.MATRICULA , FIM.FUNCAO , FIM.CPF Me ajudem por favor...
  5. Pessoal, estou com uma certa dificuldade em elaborar um relatório semelhante. A idéia dele é o seguinte: Este relatório deve trazer a foto dos funcionários que estão na empresa até uma determinada data, com esta sendo passada como parâmetro. Até ai tudo bem, só que há certas situações em que um funcionário se repete. Por exemplo: João trabalhou na empresa XPTO até o dia 16-01-2011 e no dia 17-01-2011 foi transferido para a empresa BSA. O relatório deveria trazer o João na empresa XPTO se eu passar a data 16-01-2011 como parâmetro. Se eu passar a data maior ou igual a 17-01-2011 ele vem na empresa BSA, só que ele vem duas vezes, tanto na empresa XPTO quanto na BSA. Essa foi a query que desenvolvi: DECLARE @DATA DATETIME, @COLIGADA_INI INT, @COLIGADA_FIM INT SET @DATA = '30-01-2011' SET @COLIGADA_INI=1 SET @COLIGADA_FIM=99 SELECT FIM.CODCOLIGADA , FIM.NOME_COLIGADA , FIM.MATRICULA , FIM.FUNCIONARIO , FIM.COD_FUNCAO , FIM.FUNCAO , FIM.COD_CARGO , FIM.NOME_CARGO , FIM.COD_CENTRO_CUSTO , FIM.NOME_CENTRO_CUSTO , FIM.COD_SECAO , FIM.NOME_SECAO , FIM.ESTADO_SECAO , FIM.CIDADE_SECAO , FIM.ADMISSAO , FIM.SALARIO , FIM.SITUACAO , FIM.IDADE , SUM(FIM.SALARIO_FAMILIA) AS SALARIO_FAMILIA , SUM(FIM.PERICULOSIDADE) AS PERICULOSIDADE , FIM.CIDADE , FIM.ESTADO , FIM.SEXO , FIM.GRAU_INSTRUCAO , FIM.ESTADO_CIVIL , FIM.CPF , FIM.TIPO_FUNC FROM ( SELECT GCOLIGADA.CODCOLIGADA AS CODCOLIGADA , GCOLIGADA.NOMEFANTASIA AS NOME_COLIGADA , PFUNC.CHAPA AS MATRICULA , PPESSOA.NOME AS FUNCIONARIO , PFUNCAO.CODIGO AS COD_FUNCAO , PFUNCAO.NOME AS FUNCAO , PCARGO.CODIGO AS COD_CARGO , PCARGO.NOME AS NOME_CARGO , PCCUSTO.CODCCUSTO AS COD_CENTRO_CUSTO , PCCUSTO.NOME AS NOME_CENTRO_CUSTO , PFHSEC.CODSECAO AS COD_SECAO , PSECAO.DESCRICAO NOME_SECAO , PSECAO.CIDADE AS CIDADE_SECAO , PSECAO.ESTADO AS ESTADO_SECAO , PFUNC.DATAADMISSAO AS ADMISSAO , PFHSAL.SALARIO AS SALARIO , PF.NOVASITUACAO AS SITUACAO , PPESSOA.CPF AS CPF , PSINDIC.NOME AS SINDICATO , PPESSOA.DTNASCIMENTO AS DATA_NASCIMENTO , CASE WHEN MONTH(PPESSOA.DTNASCIMENTO) > MONTH(GETDATE()) OR DAY(PPESSOA.DTNASCIMENTO) > DAY(GETDATE()) THEN YEAR(GETDATE()) - YEAR(PPESSOA.DTNASCIMENTO)-1 ELSE YEAR(GETDATE()) - YEAR(PPESSOA.DTNASCIMENTO) END AS IDADE , PPESSOA.SEXO AS SEXO , PCODINSTRUCAO.DESCRICAO AS GRAU_INSTRUCAO , PCODESTCIVIL.DESCRICAO AS ESTADO_CIVIL , SUM(CASE WHEN PEVENTO.DESCRICAO='SALARIO FAMILIA' THEN PFFINANC.VALOR ELSE 0 END) AS SALARIO_FAMILIA , SUM(CASE WHEN PEVENTO.DESCRICAO='PERICULOSIDADE' THEN PFFINANC.VALOR ELSE 0 END) AS PERICULOSIDADE , PPESSOA.CIDADE AS CIDADE , PPESSOA.ESTADO AS ESTADO , PTPFUNC.DESCRICAO AS TIPO_FUNC FROM GCOLIGADA LEFT JOIN PFUNC ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA LEFT JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA LEFT JOIN PFUNCAO ON PFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO LEFT JOIN PCARGO ON PCARGO.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PCARGO.CODIGO = PFUNCAO.CARGO AND PCARGO.CODCOLIGADA = GCOLIGADA.CODCOLIGADA LEFT JOIN PFRATEIOFIXO ON PFRATEIOFIXO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFRATEIOFIXO.CHAPA = PFUNC.CHAPA LEFT JOIN PCCUSTO ON PCCUSTO.CODCOLIGADA = PFRATEIOFIXO.CODCOLIGADA AND PCCUSTO.CODCCUSTO = PFRATEIOFIXO.CODCCUSTO LEFT JOIN PSECAO ON PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO LEFT JOIN PCODSITUACAO ON PCODSITUACAO.CODCLIENTE = PFUNC.CODSITUACAO LEFT JOIN PSINDIC ON PSINDIC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PSINDIC.CODIGO = PFUNC.CODSINDICATO LEFT JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA LEFT JOIN PEVENTO ON PEVENTO.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PEVENTO.CODIGO = PFFINANC.CODEVENTO LEFT JOIN PCODESTCIVIL ON PCODESTCIVIL.CODCLIENTE = PPESSOA.ESTADOCIVIL LEFT JOIN PFRATEIOTOMADOR ON PFRATEIOTOMADOR.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFRATEIOTOMADOR.CHAPA = PFUNC.CHAPA LEFT JOIN PCODINSTRUCAO ON PCODINSTRUCAO.CODCLIENTE = PPESSOA.GRAUINSTRUCAO LEFT JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO JOIN (SELECT * FROM PFHSTSIT WHERE PFHSTSIT.DATAMUDANCA <= @DATA AND PFHSTSIT.CODCOLIGADA >= @COLIGADA_INI AND PFHSTSIT.CODCOLIGADA <= @COLIGADA_FIM ) PF ON PF.CODCOLIGADA = PFUNC.CODCOLIGADA AND PF.CHAPA = PFUNC.CHAPA JOIN (SELECT * FROM PFHSTSEC WHERE PFHSTSEC.DTMUDANCA <= @DATA AND PFHSTSEC.CODCOLIGADA >= @COLIGADA_INI AND PFHSTSEC.CODCOLIGADA <= @COLIGADA_FIM ) PFHSEC ON PFHSEC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSEC.CHAPA = PFUNC.CHAPA JOIN (SELECT * FROM PFHSTSAL WHERE PFHSTSAL.DTMUDANCA <= @DATA AND PFHSTSAL.CODCOLIGADA >= @COLIGADA_INI AND PFHSTSAL.CODCOLIGADA <= @COLIGADA_FIM ) PFHSAL ON PFHSAL.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSAL.CHAPA = PFUNC.CHAPA WHERE GCOLIGADA.CODCOLIGADA NOT IN(2,8,9,16,18) AND PFUNC.CODSITUACAO NOT IN('U','O','I') AND PFUNC.CODTIPO NOT IN ('A', 'U', 'O') AND PFUNC.DATAADMISSAO <= @DATA AND GCOLIGADA.CODCOLIGADA >= @COLIGADA_INI AND GCOLIGADA.CODCOLIGADA <= @COLIGADA_FIM AND STR(GCOLIGADA.CODCOLIGADA)+PFUNC.CHAPA NOT IN(SELECT STR(PFHSTSIT.CODCOLIGADA)+CHAPA FROM PFHSTSIT WHERE NOVASITUACAO = 'D' AND DATAMUDANCA <= @DATA AND CODCOLIGADA >= @COLIGADA_INI AND CODCOLIGADA <=@COLIGADA_FIM) GROUP BY PCCUSTO.CODCCUSTO , GCOLIGADA.CODCOLIGADA , GCOLIGADA.NOMEFANTASIA , PFUNC.CHAPA , PPESSOA.NOME , PFUNCAO.CODIGO , PFUNCAO.NOME , PCARGO.CODIGO , PCARGO.NOME , PCCUSTO.NOME , PFHSEC.CODSECAO , PSECAO.DESCRICAO , PFUNC.DATAADMISSAO , PFHSAL.SALARIO , PF.NOVASITUACAO , PPESSOA.CPF , PSINDIC.NOME , PPESSOA.DTNASCIMENTO , PPESSOA.SEXO , PCODINSTRUCAO.DESCRICAO , PEVENTO.DESCRICAO , PPESSOA.CIDADE , PPESSOA.ESTADO , PCODESTCIVIL.DESCRICAO , PTPFUNC.DESCRICAO , PSECAO.CIDADE , PSECAO.ESTADO ) FIM GROUP BY FIM.IDADE , FIM.CODCOLIGADA , FIM.NOME_COLIGADA , FIM.MATRICULA , FIM.FUNCIONARIO , FIM.COD_FUNCAO , FIM.FUNCAO , FIM.COD_CARGO , FIM.NOME_CARGO , FIM.COD_CENTRO_CUSTO , FIM.NOME_CENTRO_CUSTO , FIM.COD_SECAO , FIM.NOME_SECAO , FIM.ADMISSAO , FIM.SALARIO , FIM.SITUACAO , FIM.CIDADE , FIM.ESTADO , FIM.SEXO , FIM.GRAU_INSTRUCAO , FIM.ESTADO_CIVIL , FIM.CPF , FIM.TIPO_FUNC , FIM.ESTADO_SECAO , FIM.CIDADE_SECAO ORDER BY FIM.FUNCIONARIO , FIM.NOME_COLIGADA , FIM.CODCOLIGADA , FIM.MATRICULA , FIM.FUNCAO , FIM.CPF Me ajudem...
  6. Consegui galera! Ficou assim: SELECT CODCOLIGADA, COLIGADA , NOME, CONVERT(VARCHAR,SUM(CHE50) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CHE50) % 60),2) AS CHE50, SUM(HE50) AS HE50, CONVERT(VARCHAR,SUM(CHE75) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CHE75) % 60),2) AS CHE75, SUM(HE75) AS HE75, CONVERT(VARCHAR,SUM(CHE100) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CHE100) % 60),2) AS CHE100, SUM(HE100) AS HE100, CONVERT(VARCHAR,SUM(CHE150) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CHE150) % 60),2) AS CHE150, SUM(HE150) AS HE150, CONVERT(VARCHAR,SUM(CDSR) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CDSR) % 60),2) AS CDSR, SUM(DSR) AS DSR, CONVERT(VARCHAR,SUM(CADN) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CADN) % 60),2) AS CADN, SUM(ADN) AS ADN, CONVERT(VARCHAR,SUM(CDSRADN) / 60) + ':' + RIGHT('00' + CONVERT(VARCHAR,SUM(CDSRADN) % 60),2) AS CDSRADN, SUM(DSRADN) AS DSRADN, (SUM(CHE50)+SUM(CHE75)+SUM(CHE100)+SUM(CHE150)+SUM(CDSR)+SUM(CADN)+SUM(CDSRADN)) AS TOTALHORAS, (SUM(HE50)+SUM(HE75)+SUM(HE100)+SUM(HE150)+SUM(DSR)+SUM(ADN)+SUM(DSRADN)) AS TOTALVLHORAS FROM ( SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, PFFINANC.HORA AS CHE50, SUM(PFFINANC.VALOR) AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0082' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' ASHE50, PFFINANC.HORA AS CHE75, SUM(PFFINANC.VALOR) AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0157' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, PFFINANC.HORA, SUM(PFFINANC.VALOR) AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0083' -- AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, PFFINANC.HORA AS CHE150, SUM(PFFINANC.VALOR) AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0158' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, PFFINANC.HORA AS CDSR, SUM(PFFINANC.VALOR) AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0102' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, PFFINANC.HORA AS CADN, SUM(PFFINANC.VALOR) AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0155' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, PFFINANC.HORA AS CDSRADN, SUM(PFFINANC.VALOR) AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE -- GCOLIGADA.CODCOLIGADA>= :PLN_$B$1_S AND GCOLIGADA.CODCOLIGADA<= :PLN_$B$2_S PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0369' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA ) AS TOTAL GROUP BY CODCOLIGADA, COLIGADA, NOME ORDER BY CODCOLIGADA
  7. Tópico Fechado / Resolvido. O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum. Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título. Se preferir, mande um email para admin@forumrm.com.br
  8. Valeu Frederico, mas a gnt aqui no trabalho dividiu a consulta SQL em três e ficou legal. Abraço.
  9. Valeu Dinei! Bem agora que achei a fórmula, não estou conseguindo somar os campos, pois eles são de formatos diferentes. O erro é esse: Mensagem 8117, Nível 16, Estado 1, Linha 2 O tipo de dados de operando varchar é inválido para o operador sum. A query é essa: SELECT CODCOLIGADA, COLIGADA , NOME, SUM(CHE50) AS CHE50, SUM(HE50) AS HE50, SUM(CHE75) AS CHE75, SUM(HE75) AS HE75, SUM(CHE100) AS CHE100, SUM(HE100) AS HE100, SUM(CHE150) AS CHE150, SUM(HE150) AS HE150, SUM(CDSR) AS CDSR, SUM(DSR) AS DSR, SUM(CADN) AS CADN, SUM(ADN) AS ADN, SUM(CDSRADN) AS CDSRADN, SUM(DSRADN) AS DSRADN, (SUM(CHE50)+SUM(CHE75)+SUM(CHE100)+SUM(CHE150)+SUM(CDSR)+SUM(CADN)+SUM(CDSRADN)) AS TOTALHORAS, (SUM(HE50)+SUM(HE75)+SUM(HE100)+SUM(HE150)+SUM(DSR)+SUM(ADN)+SUM(DSRADN)) AS TOTALVLHORAS FROM ( SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, RIGHT('00' + CAST(PFFINANC.HORA / 60 as SMALLINT),2) + ':' + RIGHT('0' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CHE50, SUM(PFFINANC.VALOR) AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0082' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' ASHE50, RIGHT('00' + CAST(PFFINANC.HORA / 60 AS SMALLINT),2) + ':' + RIGHT('00' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CHE75, SUM(PFFINANC.VALOR) AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0157' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, RIGHT('00' + CAST(PFFINANC.HORA / 60 AS SMALLINT),2) + ':' + RIGHT('00' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CHE100, SUM(PFFINANC.VALOR) AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0083' -- AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, RIGHT('00' + CAST(PFFINANC.HORA / 60 AS SMALLINT),2) + ':' + RIGHT('00' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CHE150, SUM(PFFINANC.VALOR) AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0158' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, RIGHT('00' + CAST(PFFINANC.HORA / 60 AS SMALLINT),2) + ':' + RIGHT('00' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CDSR, SUM(PFFINANC.VALOR) AS DSR, '0' AS CADN, '0' AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0102' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, RIGHT('00' + CAST(PFFINANC.HORA / 60 AS SMALLINT),2) + ':' + RIGHT('00' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CADN, SUM(PFFINANC.VALOR) AS ADN, '0' AS CDSRADN, '0' AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE 1=1 --AND PFUNC.CODCOLIGADA >= :PLN_$B$1_S AND PFUNC.CODCOLIGADA <= :PLN_$B$2_S AND PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0155' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA UNION ALL SELECT GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME, '0' AS CHE50, '0' AS HE50, '0' AS CHE75, '0' AS HE75, '0' AS CHE100, '0' AS HE100, '0' AS CHE150, '0' AS HE150, '0' AS CDSR, '0' AS DSR, '0' AS CADN, '0' AS ADN, RIGHT('00' + CAST(PFFINANC.HORA / 60 AS SMALLINT),2) + ':' + RIGHT('00' + CAST(PFFINANC.HORA % 60 AS SMALLINT),2) AS CDSRADN, SUM(PFFINANC.VALOR) AS DSRADN FROM PFUNC JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO JOIN PSECAO ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PSECAO.CODIGO = PFUNC.CODSECAO JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOA JOIN PCODNACAO ON PCODNACAO.CODCLIENTE = PPESSOA.NACIONALIDADE JOIN PTPFUNC ON PTPFUNC.CODCLIENTE = PFUNC.CODTIPO LEFT JOIN VNIVELFUNCAO ON VNIVELFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA AND VNIVELFUNCAO.CODNIVEL = PFUNC.CODNIVELSAL JOIN PFFINANC ON PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA JOIN PEVENTO ON PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO = PEVENTO.CODIGO JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA WHERE -- GCOLIGADA.CODCOLIGADA>= :PLN_$B$1_S AND GCOLIGADA.CODCOLIGADA<= :PLN_$B$2_S PFUNC.CODSITUACAO <> 'D' AND PFUNC.CODTIPO <> 'A' AND PFUNC.CODTIPO <> 'D' AND PFUNC.CODTIPO <> 'U' AND PEVENTO.CODIGO='0369' --AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP >= :PLN_$AA$1_S AND (PFFINANC.ANOCOMP*100)+PFFINANC.MESCOMP <= :PLN_$AA$2_S GROUP BY GCOLIGADA.CODCOLIGADA, GCOLIGADA.NOME, PFUNC.NOME, PFFINANC.HORA ) AS TOTAL GROUP BY CODCOLIGADA, COLIGADA, NOME ORDER BY CODCOLIGADA Alguém tem alguma sugestão?
  10. Pessoal, Estou com um problema no gerador de relatórios. Estou com uma SQL que imprime mais de 255 caracteres, só que eu preciso dar um jeito pra imprimir mais que os 255 caracteres. Alguém tem alguma idéia ?
  11. Prezados, alguém poderia me ajudar com uma consulta meio tosca ? Quero converter o campo HORA da PFFINANC para o formato padrão de hora, com os ':'. Já tentei Convert e Cast e nada.
  12. Boa tarde pessoal, Estou com um problema chato aqui. É o seguinte: Criei uma consulta SQL para me retornar o número do contrato referente a uma Ordem de Compra de Produto. A consulta está rodando direitinho no SQL Server e no Utilitário SQL do RM. Só não está rodando na hora em que o relatório é gerado. Aparece o seguinte erro: "Falha na execução da Consulta SQL "CNT". Erro: Invalid length parameter passed to the LEFT or SUBSTRING function." A consulta é essa: SELECT SUBSTRING(GCONSIST.DESCRICAO,1,CHARINDEX('|',GCONSIST.DESCRICAO)-2) AS CONTRATO FROM TMOV JOIN TMOVCOMPL ON TMOV.CODCOLIGADA = TMOVCOMPL.CODCOLIGADA AND TMOV.IDMOV = TMOVCOMPL.IDMOV JOIN GCONSIST ON GCONSIST.CODCOLIGADA = TMOVCOMPL.CODCOLIGADA AND GCONSIST.CODINTERNO = TMOVCOMPL.CONTRATO WHERE TMOV.CODCOLIGADA = :CODCOLIGADA AND GCONSIST.APLICACAO = 'T' AND GCONSIST.CODTABELA = 'NCONTRATO' AND TMOV.IDMOV = :IDMOV
  13. Fiz com o de função, mas é a mesma coisa que o de seção, só trocam os campos PFHSTSEC para PFHSTFCO e o PMOTMUDSECAO para PMOTMUDFUNCAO.
  14. Prezados, eis a resposta para o problema: SELECT GCOLIGADA.CODCOLIGADA , GCOLIGADA.NOME COLIGADA , PFUNC.CHAPA MATRICULA , PFUNC.NOME FUNCIONARIO , PFHSTFCO.CODFUNCAO COD_FUNCAO , PFUNCAO.NOME FUNCAO , MONTH(PFHSTFCO.DTMUDANCA) MES , YEAR(PFHSTFCO.DTMUDANCA) ANO , PFHSTFCO.MOTIVO COD_MOTIVO , PMOTMUDFUNCAO.DESCRICAO MOTIVO FROM PFUNC JOIN PFHSTFCO ON (PFUNC.CODCOLIGADA = PFHSTFCO.CODCOLIGADA AND PFUNC.CHAPA = PFHSTFCO.CHAPA) JOIN PMOTMUDFUNCAO ON (PMOTMUDFUNCAO.CODCOLIGADA = PFHSTFCO.CODCOLIGADA AND PMOTMUDFUNCAO.CODCLIENTE = PFHSTFCO.MOTIVO) JOIN PFUNCAO ON (PFUNCAO.CODCOLIGADA = PFHSTFCO.CODCOLIGADA AND PFUNCAO.CODIGO = PFHSTFCO.CODFUNCAO) JOIN GCOLIGADA ON GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA JOIN (SELECT CODCOLIGADA , CHAPA , COUNT(*) AS QT FROM PFHSTFCO GROUP BY CODCOLIGADA , CHAPA HAVING COUNT(*) > 1) Q ON (PFUNC.CODCOLIGADA=Q.CODCOLIGADA AND PFUNC.CHAPA=Q.CHAPA) WHERE (MONTH(PFHSTFCO.DTMUDANCA)>=8 AND YEAR(PFHSTFCO.DTMUDANCA)>=2003) AND (MONTH(PFHSTFCO.DTMUDANCA)<=8 AND YEAR(PFHSTFCO.DTMUDANCA)<=2010) ORDER BY PFUNC.NOME, PFHSTFCO.DTMUDANCA
  15. Rones, não entendi esse HAVING SUM com chapa. Cara, o mais estranho é que o n° de registros caiu, sendo que alguns ainda vem apenas uma vez. Acho que está faltando algum detalhe nessa consulta, estou tentando descobrir o que é, mas está difícil !
×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.