Ir para conteúdo

Descrição Da Função Em Sentença Na Planilha


Edivan

Posts Recomendados


  • Tópicos Que Criei:  22
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  602
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  52

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.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

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?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  22
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  602
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  52

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.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

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?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  37
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  278
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

O erro ocorre ao tentar incluir o campo descrição ou nome da função?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  37
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  278
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

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

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  22
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  602
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  52

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

Link para comentar
Compartilhar em outros sites


  • 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

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

:victory:

Link para comentar
Compartilhar em outros sites

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.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

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