Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Rm Labore - Pensão


Henrique oliveira

Posts Recomendados


  • 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

Prezados boa tarde,

Fiz uma planilha pra trazer os dados de pensão, só que qdo faço a inserção do Filtro na Planilha dá erro.Estou na versão Delphi e não utilizo máquina de cálculo.Alguem pode ajudar ?Obrigado e abaixo a SQL

SELECT
A.CHAPA,
B.NOME,
D.PERCENTUAL ||'%' ||C.NROVEZES ||'x' AS TOTAL_PERCENT,
D.RESPONSAVEL,
(SELECT NVL(F.VALOR,0) FROM PFFINANC F WHERE F.CHAPA=A.CHAPA AND F.MESCOMP=:PLN_Sheet1!$C$1_V AND F.ANOCOMP=:PLN_Sheet1!$C$2_V AND F.CODEVENTO='0123') AS EVENTO_UM,
(SELECT NVL(F.VALOR,0) FROM PFFINANC F WHERE F.CHAPA=A.CHAPA AND F.MESCOMP=:PLN_Sheet1!$C$1_V AND F.ANOCOMP=:PLN_Sheet1!$C$2_V AND F.CODEVENTO='0137') AS EVENTO_DOIS,
(SELECT NVL(F.VALOR,0) FROM PFFINANC F WHERE F.CHAPA=A.CHAPA AND F.MESCOMP=:PLN_Sheet1!$C$1_V AND F.ANOCOMP=:PLN_Sheet1!$C$2_V AND F.CODEVENTO='0187') AS EVENTO_TRES,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_V AND P.INCPENSAO=1 AND M.NRODEPEND=1) AS DEP_I,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_V AND P.INCPENSAO=1 AND M.NRODEPEND=2) AS DEP_II,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_V AND P.INCPENSAO=1 AND M.NRODEPEND=3) AS DEP_III,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_v AND P.INCPENSAO=1 AND M.NRODEPEND=4) AS DEP_IV,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_V AND P.INCPENSAO=1 AND M.NRODEPEND=5) AS DEP_V,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_v AND P.INCPENSAO=1 AND M.NRODEPEND=6) AS DEP_VI,
(SELECT NVL(M.VALOR,0) FROM PFDEPMOV M INNER JOIN PFDEPEND P ON (((P.CHAPA = M.CHAPA) AND (P.CODCOLIGADA = M.CODCOLIGADA) AND (P.NRODEPEND = M.NRODEPEND))) WHERE M.CHAPA=A.CHAPA AND M.MESCOMP=:PLN_Sheet1!$C$1_V AND M.ANOCOMP=:PLN_Sheet1!$C$2_V AND P.INCPENSAO=1 AND M.NRODEPEND=7) AS DEP_VII

FROM
PFFINANC A
INNER JOIN PFUNC B ON ((B.CODCOLIGADA = A.CODCOLIGADA)
AND (B.CHAPA = A.CHAPA))
INNER JOIN PFCODFIX C ON ((C.CODCOLIGADA = A.CODCOLIGADA)
AND (C.CHAPA = A.CHAPA))
INNER JOIN PFDEPEND D ON ((D.CHAPA = B.CHAPA)
AND (D.CODCOLIGADA = B.CODCOLIGADA))


WHERE
A.MESCOMP=:PLN_Sheet1!$C$1_V
AND A.ANOCOMP=:PLN_Sheet1!$C$2_V
AND A.CODEVENTO IN ('0123','0137','0187')
AND D.PERCENTUAL IS NOT NULL
AND D.INCPENSAO=1

GROUP BY
D.RESPONSAVEL, A.CHAPA, A.CODEVENTO, B.NOME, C.NROVEZES, D.PERCENTUAL,
D.NOME

ORDER BY
B.NOME, D.RESPONSAVEL

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:  48

Olá Henrique

Pelo que pude entender o seu banco de dados é ORACLE
Sei muito pouco deste banco mas, acho que posso te ajudar.

Primeiro me confirma se no trecho a seguir você está concatenando os campos:

D.PERCENTUAL || '%' || C.NROVEZES || 'x' AS TOTAL_PERCENT
Link para comentar
Compartilhar em outros sites


  • 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

Olá Henrique

Pelo que pude entender o seu banco de dados é ORACLE

Sei muito pouco deste banco mas, acho que posso te ajudar.

Primeiro me confirma se no trecho a seguir você está concatenando os campos:

D.PERCENTUAL || '%' || C.NROVEZES || 'x' AS TOTAL_PERCENT

Bom dia tudo bem ?

Estou sim concatenando, porém quando fiz a inserção destro filtro na query MESCOMP=:PLN_Sheet1!$C$1_V e ANOCOMP=:PLN_Sheet1!$C$2_V.

Dá erro , sabe como me ajudar ?

Obrigado.

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:  48

Bom dia

Tudo joia.

Pelo que vi o erro está justamente na concatenação.

Não sei exatamente como o ORACLE trata isso e nem o comando de conversão no ORACLE mas, no SQL eu só conseguiria concatenar estes campos de eu os converte-se de numérico para string, assim:

CAST(D.PERCENTUAL AS VARCHAR) + '%' + CAST(C.NROVEZES AS VARCHAR) + 'x' AS TOTAL_PERCENT

No SQL eu também troco os || pipes pelo sinal de mais +

Faça um teste convertendo os campo na consulta para texto, veja qual o comando para isso no ORACLE e me diga se deu certo.

Até

: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.