Rodrigo Burgos Postado 9 de Julho de 2014 Tópicos Que Criei: 236 Tópicos/Dia: 0.04 Meu Conteúdo: 798 Conteúdo/Dia: 0.13 Reputação: 3 Pontos/Conquistas: 6.333 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Idade: 44 Denunciar Compartilhar Postado 9 de Julho de 2014 Bom dia pessoal, Surgiu a demanda aqui de um relatório que traga os ativos e demitidos em uma determinada data. Exemplo: quero saber a quantidade de ativos e demitidos no mês de 10/2013. Há muitos anos atrás eu desenvolvi uma sentença e um relatório, que inclusive postei aqui no fórum, mas não estou achando de jeito nenhum! Quem puder ajudar agradeço! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Deige Mendes Postado 12 de Julho de 2014 Tópicos Que Criei: 14 Tópicos/Dia: 0.00 Meu Conteúdo: 157 Conteúdo/Dia: 0.03 Reputação: 3 Pontos/Conquistas: 923 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Idade: 37 Denunciar Compartilhar Postado 12 de Julho de 2014 Bom dia Rodrigo, Tenho esta que está validada, verifique por favor se lhe atende. è um cubo que tem algumas informações adicionais e filtra alguns tipos de funcionários( Fica a seu critério ) SELECTPFUNC.CODCOLIGADA AS COLIGADA ,PFUNC.CHAPA,PFUNC.NOME,PPESSOA.SEXO ,PCODSITUACAO.DESCRICAO AS SITUAÇÃO , PTPFUNC.DESCRICAO AS TIPO_FUNC ,PSECAO.CODIGO AS COD_SECAO,PSECAO.DESCRICAO AS SECÃO,PFUNCAO.NOME AS FUNÇÃO , PPESSOA.DTNASCIMENTO AS NASCIMENTO,PPESSOA.CARTIDENTIDADE,PPESSOA.CPF,CASE WHEN DATEPART(MONTH,PPESSOA.DTNASCIMENTO)< DATEPART(MONTH,GETDATE()) THEN DATEDIFF(MONTH,PPESSOA.DTNASCIMENTO,GETDATE())/12WHEN DATEPART(MONTH,PPESSOA.DTNASCIMENTO)> DATEPART(MONTH,GETDATE()) THEN DATEDIFF(MONTH,PPESSOA.DTNASCIMENTO,GETDATE())/12WHEN DATEPART(MONTH,PPESSOA.DTNASCIMENTO)= DATEPART(MONTH,GETDATE()) AND DATEPART(DAY,PPESSOA.DTNASCIMENTO)< DATEPART(DAY,GETDATE()) THEN DATEDIFF(MONTH,PPESSOA.DTNASCIMENTO,GETDATE())/12WHEN DATEPART(MONTH,PPESSOA.DTNASCIMENTO)= DATEPART(MONTH,GETDATE()) AND DATEPART(DAY,PPESSOA.DTNASCIMENTO)= DATEPART(DAY,GETDATE()) THEN DATEDIFF(MONTH,PPESSOA.DTNASCIMENTO,GETDATE())/12WHEN DATEPART(MONTH,PPESSOA.DTNASCIMENTO)= DATEPART(MONTH,GETDATE()) AND DATEPART(DAY,PPESSOA.DTNASCIMENTO)> DATEPART(DAY,GETDATE()) THEN DATEDIFF(MONTH,PPESSOA.DTNASCIMENTO,GETDATE())/12-1ELSE NULLEND AS IDADE ,PFUNC.DATAADMISSAO,CASE WHEN MONTH(PFUNC.DATAADMISSAO) = 1 THEN '01-JANEIRO' WHEN MONTH(PFUNC.DATAADMISSAO) = 2 THEN '02-FEVEREIRO' WHEN MONTH(PFUNC.DATAADMISSAO) = 3 THEN '03-MARÇO' WHEN MONTH(PFUNC.DATAADMISSAO) = 4 THEN '04-ABRIL' WHEN MONTH(PFUNC.DATAADMISSAO) = 5 THEN '05-MAIO' WHEN MONTH(PFUNC.DATAADMISSAO) = 6 THEN '06-JUNHO' WHEN MONTH(PFUNC.DATAADMISSAO) = 7 THEN '07JULHO' WHEN MONTH(PFUNC.DATAADMISSAO) = 8 THEN '08-AGOSTO' WHEN MONTH(PFUNC.DATAADMISSAO) = 9 THEN '09-SETEMBRO' WHEN MONTH(PFUNC.DATAADMISSAO) = 10 THEN '10-OUTUBRO' WHEN MONTH(PFUNC.DATAADMISSAO) = 11 THEN '11-NOVEMBRO' WHEN MONTH(PFUNC.DATAADMISSAO) = 12 THEN '12-DEZEMBRO' END AS MÊS_ADMISSAO , YEAR(PFUNC.DATAADMISSAO) AS ANO_ADMISSAO,PFUNC.DATADEMISSAO, CASE WHEN MONTH(PFUNC.DATADEMISSAO) = 1 THEN '01-JANEIRO' WHEN MONTH(PFUNC.DATADEMISSAO) = 2 THEN '02-FEVEREIRO' WHEN MONTH(PFUNC.DATADEMISSAO) = 3 THEN '03-MARÇO' WHEN MONTH(PFUNC.DATADEMISSAO) = 4 THEN '04-ABRIL' WHEN MONTH(PFUNC.DATADEMISSAO) = 5 THEN '05-MAIO' WHEN MONTH(PFUNC.DATADEMISSAO) = 6 THEN '06-JUNHO' WHEN MONTH(PFUNC.DATADEMISSAO) = 7 THEN '07-JULHO' WHEN MONTH(PFUNC.DATADEMISSAO) = 8 THEN '08-AGOSTO' WHEN MONTH(PFUNC.DATADEMISSAO) = 9 THEN '09-SETEMBRO' WHEN MONTH(PFUNC.DATADEMISSAO) = 10 THEN '10-OUTUBRO' WHEN MONTH(PFUNC.DATADEMISSAO) = 11 THEN '11-NOVEMBRO' WHEN MONTH(PFUNC.DATADEMISSAO) = 12 THEN '12-DEZEMBRO' END AS MÊS_DEMISSAO , YEAR(PFUNC.DATADEMISSAO) AS ANO_DEMISSAO ,PFUNCAO.CBO2002 AS COD_CBO,PFUNC.PISPASEP AS PIS,PFUNC.CODFILIAL AS FILIAL,( SELECT CONVERT(CHAR, DATEDIFF (DAY, FUNC.DATAADMISSAO,GETDATE() ) / 365, 1 ) + 'ANOS' + CONVERT(CHAR, (DATEDIFF (DAY, FUNC.DATAADMISSAO ,GETDATE() ) % 365 )/30 , 2 ) + 'MESES'FROM PFUNC AS FUNC WHERE FUNC.CHAPA =PFUNC.CHAPA ) AS TEMPO_SERV,PCODINSTRUCAO.DESCRICAO AS GRAU_INSTRUCAO , 1 AS QUANTIDADEFROM PFUNC INNER JOIN PPESSOA ON PPESSOA.CODIGO = PFUNC.CODPESSOALEFT JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNC.CODFUNCAO = PFUNCAO.CODIGO LEFT JOIN PFUNCAOCOMPL ONPFUNC.CODFUNCAO = PFUNCAOCOMPL.CODFUNCAO ANDPFUNC.CODCOLIGADA = PFUNCAOCOMPL.CODCOLIGADALEFT JOIN GCONSIST AS GCONSIST_UNIF ONGCONSIST_UNIF.CODCLIENTE = PFUNCAOCOMPL.UNIFORMEAND GCONSIST_UNIF.CODTABELA = 'TIPOUNIF' LEFT JOIN PSECAO ONPFUNC.CODSECAO = PSECAO.CODIGO ANDPFUNC.CODCOLIGADA = PSECAO.CODCOLIGADALEFT JOIN PTPFUNC ONPFUNC.CODTIPO = PTPFUNC.CODCLIENTE LEFT JOIN PCODSITUACAO ONPFUNC.CODSITUACAO = PCODSITUACAO.CODCLIENTE LEFT JOIN PCODINSTRUCAO ONPPESSOA.GRAUINSTRUCAO = PCODINSTRUCAO.CODCLIENTE ANDPPESSOA.GRAUINSTRUCAO = PCODINSTRUCAO.CODINTERNOWHERE PFUNC.CODTIPO IN ('N','A','D','Z','T') ANDPFUNC.DATAADMISSAO <= :DATA_PERIODO_D AND(PFUNC.DATADEMISSAO >= :DATA_PERIODO_D OR PFUNC.DATADEMISSAO IS NULL )ORDER BY PFUNC.CHAPA Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 12 de Julho de 2014 Tópicos Que Criei: 899 Tópicos/Dia: 0.14 Meu Conteúdo: 8.842 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.579 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 12 de Julho de 2014 Deige, acho que não seria bem isso que ele deseja. Seria, especificar uma data, e listar quem está ativo e demitido nesta data... isso que entendi. Confere Rodrigo?? Pior que não estou agora podendo analisar e ajudar, mas até a segunda, caso não apareça aqui ainda, eu tento montar pra vc pra dar uma força ae. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.