Ir para conteúdo

SQL rateio centro de custo por seção - retornando linhas duplicadas


weverton dias

Posts Recomendados


  • Tópicos Que Criei:  30
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  152
  • Conteúdo/Dia:  0.03
  • Reputação:   3
  • Pontos/Conquistas:  1.193
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  36
  • Dispositivo:  iPhone

Bom Dia Pessoal!

Criei a setença abaixo para montar um rateio por seção e centro de custo, ocorre que um funcionário pode ter vários rateios e preciso trazer todos em colunas, quando removo o case da setença funciona, porém não tras os eventos separados por coluna, alguém poderia me ajudar?

A sentença está duplicando várias linhas......... preciso que retorne somente os centro de custo que possuem rateio e seus respectivos valores.....

 

SELECT FF.CODCOLIGADA,
       FF.CHAPA,
       P.NOME,
       P.CODSITUACAO,
       P.CODFILIAL,
       P.CODSECAO,
       RAT.CODCCUSTO,
       CUST.NOME AS 'NOME CENTRO DE CUSTO',
       FF.MESCOMP,
       FF.ANOCOMP,
       FF.NROPERIODO,
       SEC.DESCRICAO,
       FF.LIQUIDO,
       ( CASE
           WHEN MOV.CODEVENTO IN ( '0075' ) THEN MOV.VALOR
           ELSE 0
         END )   AS 'GRATIFICACAO E PREMIO' /*@Weverton GRATIFICACAO E PREMIO*/
FROM   PFPERFF AS FF WITH (NOLOCK)
       INNER JOIN PFUNC AS P WITH (NOLOCK)
               ON P.CODCOLIGADA = FF.CODCOLIGADA
                  AND P.CHAPA = FF.CHAPA
       INNER JOIN PFRATEIOFIXO AS RAT WITH (NOLOCK)
               ON RAT.CODCOLIGADA = P.CODCOLIGADA
                  AND RAT.CHAPA = P.CHAPA
       INNER JOIN GCCUSTO AS CUST WITH (NOLOCK)
               ON CUST.CODCOLIGADA = RAT.CODCOLIGADA
                  AND CUST.CODCCUSTO = RAT.CODCCUSTO
       INNER JOIN PFMOVCC MOV
               ON FF.CODCOLIGADA = MOV.CODCOLIGADA
                  AND FF.CHAPA = MOV.CHAPA
                  AND FF.ANOCOMP = MOV.ANOCOMP
                  AND FF.MESCOMP = MOV.MESCOMP
                  AND FF.NROPERIODO = MOV.NROPERIODO
       LEFT OUTER JOIN PSECAO AS SEC
                    ON P.CODCOLIGADA = SEC.CODCOLIGADA
                       AND P.CODSECAO = SEC.CODIGO
WHERE  ( FF.CODCOLIGADA = :COLIGADA )
       AND ( FF.MESCOMP = :MES )
       AND ( FF.ANOCOMP = :ANO )
       AND ( FF.NROPERIODO = :PERIODO )
ORDER  BY P.NOME 
 

 

 

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  470
  • Conteúdo/Dia:  0.21
  • Reputação:   132
  • Pontos/Conquistas:  3.143
  • Conteúdo Resolvido:  0
  • Dias Ganho:  63
  • Status:  Offline
  • Idade:  35
  • Dispositivo:  Windows

@weverton dias, boa tarde!

Falta a relação entre a PFRATEIOFIXO.CODCCUSTO com a PFMOVCC.CODCCUSTO.

Abraços.

  • Like 1
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.