Ir para conteúdo
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Retorno de varias linha da mesma chapa


Posts Recomendados


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  4
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  40
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  33

Boa tarde,

estou fazendo uma sql para retornar quantas h.e o funcionário teve no mÊs, separado por faixa de 60%, 100%n(tudo na mesma linha, em colunas separadas) e tal, porém ele retorna varias linhas da mesma pessoa. Poderiam me ajudar?

segue o select que estou usando.

SELECT AMOVFUN.CHAPA,
       PFUNC.NOME,
       CASE
         WHEN AMOVFUN.CODEVE = 1313 THEN AMOVFUN.NUMHORAS / 60
       END,
       CASE
         WHEN AMOVFUN.CODEVE = 1311 THEN AMOVFUN.NUMHORAS / 60
       END,
       CASE
         WHEN AMOVFUN.CODEVE = 1317 THEN AMOVFUN.NUMHORAS / 60
       END
FROM   AMOVFUN
INNER JOIN PFUNC ON PFUNC.CHAPA = AMOVFUN.CHAPA
               
WHERE  AMOVFUN.MESCOMP = 9 

 

o retorno esta assim

CHAPA    NOME                                          50%      60%    100%
000025    MARCELO IVAN RIBEIRO           6    
000025    MARCELO IVAN RIBEIRO                                  27
000025    MARCELO IVAN RIBEIRO            

 

 

e teria que ser assim:

CHAPA    NOME                                          50%      60%    100%
000025    MARCELO IVAN RIBEIRO           6    
    0             27

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.22
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Ully,

Veja se isso te ajuda, não sei qual a versão do SQL por isso fiz dessa maneira porém se estiver utilizando a versão 2008 pra cima do SQL existe a funcionalidade PIVOT nativamente.

https://docs.microsoft.com/pt-br/sql/t-sql/queries/from-using-pivot-and-unpivot?view=sql-server-2017

 

SELECT AMOVFUN.CHAPA,
       PFUNC.NOME,
       MAX(CASE WHEN AMOVFUN.CODEVE = 1313 THEN AMOVFUN.NUMHORAS / 60 END) [CINQUENTA],
       MAX(CASE WHEN AMOVFUN.CODEVE = 1311 THEN AMOVFUN.NUMHORAS / 60 END) [SESSENTA],
       MAX(CASE WHEN AMOVFUN.CODEVE = 1317 THEN AMOVFUN.NUMHORAS / 60 END) [CEM]
FROM   
    AMOVFUN (NOLOCK) INNER JOIN PFUNC (NOLOCK) ON 
    PFUNC.CHAPA = AMOVFUN.CHAPA
WHERE  
    AMOVFUN.MESCOMP = 9 
GROUP BY
    AMOVFUN.CHAPA,
    PFUNC.NOME

[]'s

Link para comentar
Compartilhar em outros sites

  • 3 meses depois...

  • Tópicos Que Criei:  7
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.03
  • Reputação:   10
  • Pontos/Conquistas:  471
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  35
  • Dispositivo:  Linux

Tente desta maneira.

SELECT PFUNC.CHAPA,
A.NUMHORAS / 60,
B.NUMHORAS / 60,
C.NUMHORAS / 60


FROM PFUNC

INNER JOIN AMOVFUN A ON PFUNC.CODCOLIGADA = A.CODCOLIGADA
                    AND PFUNC.CHAPA  =    A.CHAPA
                    AND A.CODEVE = '1313'
                    
INNER JOIN AMOVFUN B ON PFUNC.CODCOLIGADA = B.CODCOLIGADA
                    AND PFUNC.CHAPA  =    B.CHAPA
                    AND B.CODEVE = '1311'
                    
INNER JOIN AMOVFUN C ON PFUNC.CODCOLIGADA = C.CODCOLIGADA
                    AND PFUNC.CHAPA  =    C.CHAPA
                    AND C.CODEVE = '1317'                                                            

 

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.