jcrezende Postado 11 de Dezembro de 2015 Tópicos Que Criei: 1 Tópicos/Dia: 0.00 Meu Conteúdo: 2 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 20 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 34 Denunciar Compartilhar Postado 11 de Dezembro de 2015 Bom dia pessoal, sou iniciante no RM e estou com um problema em gerar uma forma de listar quais funcionarios teve falta no mês. Já tentei essa consulta select distinct NOME from PFUNC p inner join PFFINANC f on (p.CHAPA = f.CHAPA) where p.CODSECAO = '1.1957.1.001' and p.CODSITUACAO = 'A' and f.CODEVENTO != ('0126') and f.ANOCOMP = '2015' and f.MESCOMP = '11' no caso o evento de falta é o 0126. Essa consulta elimina quem tem o evento falta, mas como ele tem outros evento ele lista essas pessoas. Alguma dica de como resolver isso? Desde já agradeço ;D Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
omar Postado 11 de Dezembro de 2015 Tópicos Que Criei: 59 Tópicos/Dia: 0.01 Meu Conteúdo: 817 Conteúdo/Dia: 0.16 Reputação: 105 Pontos/Conquistas: 4.774 Conteúdo Resolvido: 0 Dias Ganho: 74 Status: Offline Idade: 61 Dispositivo: Windows Denunciar Compartilhar Postado 11 de Dezembro de 2015 (editado) Bom dia. Usamos esta sql para levantar as faltas por mês: SELECT DISTINCT GCOLIGADA.NOME AS COLIGADA, PFUNC.NOME AS FUNCIONARIO, GFILIAL.NOMEFANTASIA AS FILIAL, PSECAO.DESCRICAO AS SECAO, PEVENTO.DESCRICAO AS EVENTO, REF AS FALTAS, MESCOMP AS MES, ANOCOMP AS ANO FROM PFUNC (NOLOCK), PFFINANC (NOLOCK), GCOLIGADA (NOLOCK), GFILIAL (NOLOCK), PSECAO (NOLOCK), PEVENTO (NOLOCK) WHERE ( GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA ) AND ( GFILIAL.CODCOLIGADA = PFUNC.CODCOLIGADA ) AND ( PSECAO.CODCOLIGADA = GFILIAL.CODCOLIGADA ) AND ( PSECAO.CODIGO = PFUNC.CODSECAO ) AND ( PFUNC.CODSECAO = PSECAO.CODIGO ) AND ( GFILIAL.CODFILIAL = PSECAO.CODFILIAL ) AND ( PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA ) AND ( PFFINANC.CODEVENTO = PEVENTO.CODIGO ) AND ( PFUNC.CHAPA = PFFINANC.CHAPA ) AND ( CODIGOCALCULO = 8 ) Editado 11 de Dezembro de 2015 por omar Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
jcrezende Postado 11 de Dezembro de 2015 Tópicos Que Criei: 1 Tópicos/Dia: 0.00 Meu Conteúdo: 2 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 20 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 34 Autor Denunciar Compartilhar Postado 11 de Dezembro de 2015 Primeiramente muito obrigado, na verdade eu consegui listar quem tem falta no mês, porém não conseguir fazer uma consulta que trás apenas aqueles que não tem falta. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
omar Postado 11 de Dezembro de 2015 Tópicos Que Criei: 59 Tópicos/Dia: 0.01 Meu Conteúdo: 817 Conteúdo/Dia: 0.16 Reputação: 105 Pontos/Conquistas: 4.774 Conteúdo Resolvido: 0 Dias Ganho: 74 Status: Offline Idade: 61 Dispositivo: Windows Denunciar Compartilhar Postado 11 de Dezembro de 2015 (editado) Primeiramente muito obrigado, na verdade eu consegui listar quem tem falta no mês, porém não conseguir fazer uma consulta que trás apenas aqueles que não tem falta. Utiliza a condição NOT EXISTS https://technet.microsoft.com/pt-br/library/ms184297(v=sql.105).aspx Editado 11 de Dezembro de 2015 por omar Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 15 de Dezembro de 2015 Tópicos Que Criei: 885 Tópicos/Dia: 0.13 Meu Conteúdo: 8.802 Conteúdo/Dia: 1.34 Reputação: 291 Pontos/Conquistas: 106.268 Conteúdo Resolvido: 0 Dias Ganho: 185 Status: Offline Idade: 51 Dispositivo: Windows Denunciar Compartilhar Postado 15 de Dezembro de 2015 select Chapa, NOME From PFUNC p where p.CODSECAO = '1.1957.1.001' and p.CODSITUACAO = 'A' and p.chapa not in ( select distinct Chapa from PFUNC p inner join PFFINANC f on (p.CHAPA = f.CHAPA) where p.CODSECAO = '1.1957.1.001' and p.CODSITUACAO = 'A' and f.CODEVENTO = ('0126') and f.ANOCOMP = '2015' and f.MESCOMP = '11' ) 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.