Henrique oliveira Postado 24 de Outubro de 2013 Tópicos Que Criei: 58 Tópicos/Dia: 0.01 Meu Conteúdo: 195 Conteúdo/Dia: 0.04 Reputação: 2 Pontos/Conquistas: 1.557 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 49 Denunciar Compartilhar Postado 24 de Outubro de 2013 Bom dia Galera blz !!! Preciso de ajuda par amontar a seguinte SQL para retornar os campos abaixo. preciso que a planilha traga os seguintes campos da base: Nome do Funcionário Chapa PIS Data Exemplo: O Filtro Local deve ser Chapa do Funcionario= 00036837 e Chapa do Funcionário= 00030703 ou Chapa do Funcionario=00040825 ou O Campo PIS é complementar. Obrigado. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Elaine Santos Postado 12 de Novembro de 2013 Tópicos Que Criei: 3 Tópicos/Dia: 0.00 Meu Conteúdo: 34 Conteúdo/Dia: 0.01 Reputação: 2 Pontos/Conquistas: 202 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Denunciar Compartilhar Postado 12 de Novembro de 2013 (editado) Henrique creio que o sql abaixo possa te ajudar, informei o para não trazer os demitidos. Caso queira especificar uma chapa insira a informação na marcação que esta em vermelho. Como não especificou a data desejada inseri apenas a data de admissão. SELECT P.CHAPA, P.CODTIPO, S.DESCRICAO SECAO, P.NOME, P.PISPASEP, P.DATAADMISSAO, F.NOME FUNCAO FROM PFUNC P INNER JOIN PFUNCAO F ON P.CODFUNCAO=F.CODIGO INNER JOIN PSECAO S ON P.CODSECAO=S.CODIGO WHERE P.CODSITUACAO = 'D' AND P.CHAPA="" ORDER BY P.NOME By By Editado 12 de Novembro de 2013 por Elaine Santos Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Robinson Postado 12 de Novembro de 2013 Tópicos Que Criei: 58 Tópicos/Dia: 0.01 Meu Conteúdo: 672 Conteúdo/Dia: 0.11 Reputação: 25 Pontos/Conquistas: 4.005 Conteúdo Resolvido: 0 Dias Ganho: 18 Status: Offline Idade: 47 Denunciar Compartilhar Postado 12 de Novembro de 2013 Olá Elaine Seu select está quase completo e aproveitando :-) Talvés você já tenha esse conhecimento, mas se não tiver pode ser bom saber e de qualquer forma vai servir para mais colegas. Vamos as boas práticas para uma consulta SQL: 1º) Procre concatenar sua consulta para que ela fica fácil de ser interpretada e assim além de facilitar o uso também vai facilitar a manutenção. 2º) É totalmente permitido apelidar as tabelas para chamá-las juntas aos campos em todo o conteúdo da consulta, mas quando maior a quantidade de tabelas vinculadas e campos listados de cada uma maior o tempo até identificar que campo pertence a qual tabela. Por isso é sempre bom manter o nome original da tabela ou apelidos do tipo PFUNC_DEMITIDO, PFUNC_ATIVO, etc.... 3º) Sempre coloque (NOLOCK) nas chamas às tabelas para que sua consulta não fique travada quando um registro a ser listado encontrar-se em uma transação por outra aplicação ou no caso pelo próprio Corpore RM. 4º) Por fim, quando montar consulta para nas tabelas do Corpore RM é sempre bom se lembrar de vincular Coligada e Filial, do contrário um único cadastro pode se multiplicar pelo número de coligadas + o número de filiais que eslas tiverem e a coisa vai engrossando quando você coloca sessão, departamento, etc.... SELECT PFUNC.CHAPA, PFUNC.CODTIPO, PSECAO.DESCRICAO AS SECAO, PFUNC.NOME, PFUNC.PISPASEP, PFUNC.DATAADMISSAO, PFUNCAO.NOME AS FUNCAO FROM PFUNC (NOLOCK) INNER JOIN PFUNCAO ON PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND PFUNC.CODFUNCAO = PFUNCAO.CODIGO INNER JOIN PSECAO (NOLOCK) ON PFUNC.CODCOLIGADA = PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO WHERE PFUNC.CODSITUACAO = 'A' AND -- altere a letra deste campo conforme o status que queira listas ou remova/comente essa linha para listar todos os status. PFUNC.CHAPA='00030703' ORDER BY PFUNC.NOME Henrique, como expliquei acima a consulta da Elaine está legal, eu só fiz essas pequenas correções e depois de uma alô se a consulta funcionou, isso garantirá que você sempre terá mais apoio dos amigos aqui do Forum RM. Até mais 1 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Elaine Santos Postado 21 de Novembro de 2013 Tópicos Que Criei: 3 Tópicos/Dia: 0.00 Meu Conteúdo: 34 Conteúdo/Dia: 0.01 Reputação: 2 Pontos/Conquistas: 202 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Denunciar Compartilhar Postado 21 de Novembro de 2013 Valeu pelo toque Robinson.....desculpem a demora, mas existem tempos complicados aqui e quase não fico na sala.....pareço até funcionária de vários departamentos rsrsrs Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Robinson Postado 21 de Novembro de 2013 Tópicos Que Criei: 58 Tópicos/Dia: 0.01 Meu Conteúdo: 672 Conteúdo/Dia: 0.11 Reputação: 25 Pontos/Conquistas: 4.005 Conteúdo Resolvido: 0 Dias Ganho: 18 Status: Offline Idade: 47 Denunciar Compartilhar Postado 21 de Novembro de 2013 É Elaine, sei como é isso e trabalhando com ERP você acaba realmente participando de todos ou quase todos os departamentos. Qualquer quer dúvida é só postar aqui que tentarei ajudar. Só faltou nosso amigo Henrique Oliveira dar um retorno para nós né..... Vamos lá Henrique, pelpo menos diz se está vivo :-) Grande abraço Elaine. Valeu pelo toque Robinson.....desculpem a demora, mas existem tempos complicados aqui e quase não fico na sala.....pareço até funcionária de vários departamentos rsrsrs Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Elaine Santos Postado 2 de Dezembro de 2013 Tópicos Que Criei: 3 Tópicos/Dia: 0.00 Meu Conteúdo: 34 Conteúdo/Dia: 0.01 Reputação: 2 Pontos/Conquistas: 202 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Denunciar Compartilhar Postado 2 de Dezembro de 2013 Se for para mesma destinação solicitada para mim, segue abaixo....no meu caso me foi pedido para inserir função e situação. A data que você precisa é de admissão ou nascimento? SELECT PFUNC.CHAPA, PFUNC.NOME, PPESSOA.CPF, PPESSOA.EMAIL, PPESSOA.DTNASCIMENTO as Nascimento, PFUNC.CODFUNCAO, PSECAO.DESCRICAO, PFUNC.CODSITUACAO, PFUNC.DATAADMISSAO as Admissão, FROM PFUNC LEFT OUTER JOIN PPESSOA ON (PFUNC.CODPESSOA = PPESSOA.CODIGO) LEFT OUTER JOIN PTPFUNC ON (PFUNC.CODTIPO = PTPFUNC.CODCLIENTE) WHERE PFUNC.CODSITUACAO'D' ORDER BY PFUNC.NOME Inseri as 2 datas, ficando a seu critério. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Henrique oliveira Postado 3 de Dezembro de 2013 Tópicos Que Criei: 58 Tópicos/Dia: 0.01 Meu Conteúdo: 195 Conteúdo/Dia: 0.04 Reputação: 2 Pontos/Conquistas: 1.557 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 49 Autor Denunciar Compartilhar Postado 3 de Dezembro de 2013 Se for para mesma destinação solicitada para mim, segue abaixo....no meu caso me foi pedido para inserir função e situação. A data que você precisa é de admissão ou nascimento? SELECT PFUNC.CHAPA, PFUNC.NOME, PPESSOA.CPF, PPESSOA.EMAIL, PPESSOA.DTNASCIMENTO as Nascimento, PFUNC.CODFUNCAO, PSECAO.DESCRICAO, PFUNC.CODSITUACAO, PFUNC.DATAADMISSAO as Admissão, FROM PFUNC LEFT OUTER JOIN PPESSOA ON (PFUNC.CODPESSOA = PPESSOA.CODIGO) LEFT OUTER JOIN PTPFUNC ON (PFUNC.CODTIPO = PTPFUNC.CODCLIENTE) WHERE PFUNC.CODSITUACAO<>'D' ORDER BY PFUNC.NOME Inseri as 2 datas, ficando a seu critério. Boa tarde Elaine e Robinson, segue o resultado da Consulta do Robinson deu erro .Segue abaixo o resultado Referência de objeto não definida para uma instância de um objeto. Código da Informação: [0dc060f56fed3fedf055af476510b102] A SQL da Elaine tb dá erro. Retorna os Campos em branco .... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Elaine Santos Postado 3 de Dezembro de 2013 Tópicos Que Criei: 3 Tópicos/Dia: 0.00 Meu Conteúdo: 34 Conteúdo/Dia: 0.01 Reputação: 2 Pontos/Conquistas: 202 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Denunciar Compartilhar Postado 3 de Dezembro de 2013 Henrique boa tarde ....se trouxe campos em branco solicito que dê uma olhada nos campos informados no select, pois pode estar solicitando alguma informação que não condiz com seus dados, no caso eu coloquei pra não trazer os funcionários D (demitidos) verifique alguma cláusula seletiva válida e insira. Espero ajudar. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Robinson Postado 4 de Dezembro de 2013 Tópicos Que Criei: 58 Tópicos/Dia: 0.01 Meu Conteúdo: 672 Conteúdo/Dia: 0.11 Reputação: 25 Pontos/Conquistas: 4.005 Conteúdo Resolvido: 0 Dias Ganho: 18 Status: Offline Idade: 47 Denunciar Compartilhar Postado 4 de Dezembro de 2013 Olá Henrique É exatamente o que a Elaine disse. Nós temos cada um o seu ambiente e entre eles existem muitas coisas em comum, a começar pelas tabelas e campos da base da dados, já que no geral seguem um padrão definido pela Totvs, mas o preenchimento de muitas dessas tabelas e campos não são obrigatórios e mesmo que fossem obrigatórios nem sempreseriam preenchidos com as mesmas informações. Por isso na maioria das vezes alguma coisa você terá que ajustar nas consultas. Por exemplo: Aí você utiliza a chapa com oito digitos 00030703 e aqui utilizamos com 5 digitos 03511 e os códigos de sessões e departamentos aqui seguem uma sequência e associações diferente daí. Outra coisa! Pelo erro que você reportou imagino que tenha testado a consulta diretamente no RM Labore. Henrique, todas as consultas que lhe enviarem você deve testá-las e avaliá-las em uma interface de consulta ao banco de dados como por exemplo o SQL Managem e que de preferência faça uma cópia da base de dados e nesta cópia rode essas consultas e faça qualquer teste antes de aplicar no ambiente de produção. Se você não se sentir seguiro para preparar esse ambiente aconselho a solicitar para quem cuida de sua rede e computadores a fazer para você. Desculpe não ajudar mais do que isso, mas será mesmo necessário que você siga esses passos para dar continuidade e a turma aqui do forum poder te ajudar. Ps.: Tente dar um alô mais rápido para quem tenta te ajudar aqui no forum, afinal não somos funcionários do forum, somo usuários que compartilha da mesma situação que você e compartilhamos um pouco do nosso conhecimento simplesmente por colaboração. Boa sorte 1 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.