Edivan Posted March 25, 2013 Topic Count: 22 Topics Per Day: 0.00 Content Count: 76 Content Per Day: 0.01 Reputation: 1 Achievement Points: 602 Solved Content: 0 Days Won: 0 Status: Offline Age: 54 Report Posted March 25, 2013 Boa tarde pessoal Por favor, esteou com a setença abaixo e preciso incluir a descrição da função, mais não consigo da erro afirmando que exceu o limite da consulta. (planilha) Alguém pode ajudar ? Segue sentença criada: SELECT P.DATAADMISSAO, P.CHAPA, P.NOME, P.SALARIO * (PF.VALOR / 100), PCODSITUACAO.DESCRICAO, PMOTADMISSAO.DESCRICAO, PC.CODCCUSTO, PC.NOME FROM RM.PFUNC P LEFT OUTER JOIN RM.PCODSITUACAO ON (((P.CODSITUACAO = PCODSITUACAO.CODCLIENTE))) LEFT OUTER JOIN RM.PMOTADMISSAO ON (((P.CODCOLIGADA = PMOTADMISSAO.CODCOLIGADA) AND (P.MOTIVOADMISSAO = PMOTADMISSAO.CODCLIENTE))) LEFT OUTER JOIN RM.PFRATEIOFIXO PF ON (((P.CODCOLIGADA = PF.CODCOLIGADA) AND (P.CHAPA = PF.CHAPA))) LEFT OUTER JOIN RM.PCCUSTO PC ON (((PF.CODCOLIGADA = PC.CODCOLIGADA) AND (PF.CODCCUSTO = PC.CODCCUSTO))) WHERE (( P.DATAADMISSAO >= TO_DATE( :PLN_$B$5_S ,'DD/MM/YYYY') AND P.DATAADMISSAO <= TO_DATE( :PLN_$D$5_S ,'DD/MM/YYYY'))) AND ( P.CODCOLIGADA = 3 ) ORDER BY P.DATAADMISSAO, PC.CODCCUSTO, PC.NOME, P.NOME Agradeço antecipadamente. Quote
João Rodrigo Posted March 26, 2013 Topic Count: 6 Topics Per Day: 0.00 Content Count: 290 Content Per Day: 0.06 Reputation: 17 Achievement Points: 1,523 Solved Content: 0 Days Won: 12 Status: Offline Report Posted March 26, 2013 Eu poderia te ajudar, mas preciso saber: Sem incluir a descrição a sentença executa normalmente? Consegue executar essa sentença no SQLMANAGER? Caso Positivo, os registros estão duplicados? Quote
Edivan Posted March 27, 2013 Topic Count: 22 Topics Per Day: 0.00 Content Count: 76 Content Per Day: 0.01 Reputation: 1 Achievement Points: 602 Solved Content: 0 Days Won: 0 Status: Offline Age: 54 Author Report Posted March 27, 2013 Executa normalmente, os registros não duplicam, apenas repetem os nomes dos funcionários, tendo em vista respeitar os centros de custos cadastros no cadastro. Em resumo ela funciona perfeitamente, porém, não consigo incluir somente o nome da função. Obrigado pela ajuda. Quote
João Rodrigo Posted March 27, 2013 Topic Count: 6 Topics Per Day: 0.00 Content Count: 290 Content Per Day: 0.06 Reputation: 17 Achievement Points: 1,523 Solved Content: 0 Days Won: 12 Status: Offline Report Posted March 27, 2013 Pelo visto está gerando mais linhas que o limite da planilha(16384 linhas, 256 colunas) . Você disse que está repetindo o nome do funcionário, 1 funcionário está cadastrado em mais de 1 centro de custo? isto está correto? vc pode postar o resultado do sqlmanager da sua consulta? Quote
Dani Posted March 27, 2013 Topic Count: 5 Topics Per Day: 0.00 Content Count: 37 Content Per Day: 0.01 Reputation: 4 Achievement Points: 279 Solved Content: 0 Days Won: 2 Status: Offline Report Posted March 27, 2013 O erro ocorre ao tentar incluir o campo descrição ou nome da função? Quote
Dani Posted March 27, 2013 Topic Count: 5 Topics Per Day: 0.00 Content Count: 37 Content Per Day: 0.01 Reputation: 4 Achievement Points: 279 Solved Content: 0 Days Won: 2 Status: Offline Report Posted March 27, 2013 Teste essa consulta: SELECT P.DATAADMISSAO, P.CHAPA, P.NOME, P.SALARIO * (PF.VALOR / 100), PCODSITUACAO.DESCRICAO, PMOTADMISSAO.DESCRICAO, PC.CODCCUSTO, PC.NOME , P.CODFUNCAO, C.NOME FUNCAO, CONVERT(TEXT, C.DESCRICAO, 1000) DESCRICAO FROM PFUNC P LEFT OUTER JOIN PCODSITUACAO ON (((P.CODSITUACAO = PCODSITUACAO.CODCLIENTE))) LEFT OUTER JOIN PMOTADMISSAO ON (((P.CODCOLIGADA = PMOTADMISSAO.CODCOLIGADA) AND (P.MOTIVOADMISSAO = PMOTADMISSAO.CODCLIENTE))) LEFT OUTER JOIN PFRATEIOFIXO PF ON (((P.CODCOLIGADA = PF.CODCOLIGADA) AND (P.CHAPA = PF.CHAPA))) LEFT OUTER JOIN PCCUSTO PC ON (((PF.CODCOLIGADA = PC.CODCOLIGADA) AND (PF.CODCCUSTO = PC.CODCCUSTO))) LEFT OUTER JOIN PFUNCAO C ON P.CODCOLIGADA=C.CODCOLIGADA AND P.CODFUNCAO=C.CODIGO WHERE (( P.DATAADMISSAO >= TO_DATE( :PLN_$B$5_S ,'DD/MM/YYYY') AND P.DATAADMISSAO <= TO_DATE( :PLN_$D$5_S ,'DD/MM/YYYY'))) AND ( P.CODCOLIGADA = 3 ) ORDER BY P.DATAADMISSAO, PC.CODCCUSTO, PC.NOME, P.NOME Quote
Edivan Posted April 4, 2013 Topic Count: 22 Topics Per Day: 0.00 Content Count: 76 Content Per Day: 0.01 Reputation: 1 Achievement Points: 602 Solved Content: 0 Days Won: 0 Status: Offline Age: 54 Author Report Posted April 4, 2013 Bom dia! Somente agora pude retornar... Fiz o teste acima, porém, está dando o seguinte erro ORA-00904: TEXT: Invalid Identifier na célula: $A$11 Quote
Robinson Posted April 4, 2013 Topic Count: 58 Topics Per Day: 0.01 Content Count: 672 Content Per Day: 0.10 Reputation: 25 Achievement Points: 4,005 Solved Content: 0 Days Won: 18 Status: Offline Age: 49 Report Posted April 4, 2013 Assim funciona, mas retirei o parâmetro TO_DATE e o nome RM antes da tabela para poder rodar em qualquer servidor com uma base do Corpore RM SELECT P.DATAADMISSAO, P.CHAPA, P.NOME, P.SALARIO * (PF.VALOR / 100), PCODSITUACAO.DESCRICAO, PMOTADMISSAO.DESCRICAO, PC.CODCCUSTO, PC.NOME, UPPER(PFUNCAO.NOME) AS 'FUNCAO' FROM PFUNC P (NOLOCK) LEFT OUTER JOIN PCODSITUACAO (NOLOCK) ON P.CODSITUACAO = PCODSITUACAO.CODCLIENTE LEFT OUTER JOIN PMOTADMISSAO (NOLOCK) ON P.CODCOLIGADA = PMOTADMISSAO.CODCOLIGADA AND P.MOTIVOADMISSAO = PMOTADMISSAO.CODCLIENTE LEFT OUTER JOIN PFRATEIOFIXO PF (NOLOCK) ON P.CODCOLIGADA = PF.CODCOLIGADA AND P.CHAPA = PF.CHAPA LEFT OUTER JOIN PCCUSTO PC (NOLOCK) ON PF.CODCOLIGADA = PC.CODCOLIGADA AND PF.CODCCUSTO = PC.CODCCUSTO INNER JOIN PFUNCAO (NOLOCK) ON P.CODCOLIGADA = PFUNCAO.CODCOLIGADA AND P.CODFUNCAO = PFUNCAO.CODIGO WHERE P.DATAADMISSAO >= '2013-01-01'AND P.DATAADMISSAO <= '2013-04-01' AND -- (( P.DATAADMISSAO >= TO_DATE( :PLN_$B$5_S ,'DD/MM/YYYY') AND P.DATAADMISSAO <= TO_DATE( :PLN_$D$5_S ,'DD/MM/YYYY'))) P.CODCOLIGADA = 3 ORDER BY P.DATAADMISSAO, PC.CODCCUSTO, PC.NOME, P.NOME Depois diga se funcionou Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.