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? ×
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

Agrupar linhas com subselect


Jidham

Posts Recomendados


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

Olá galera, preciso de um help!!!

Estou criando uma procedure só que não conseguindo agrupar os valores que preciso, a query abaixo, traz a quantidade de funcionarios por secao, o quadro oficial é o limite de funcionario cadastrado no vitae, o quadro real é os funcionarios lotados,

tem a diferença entre as 2 colunas anteriores,a qtd de afastados, qtd de ferias, salario de ativo e por fim o salario dos de ferias,

Resumindo preciso agrupar essas informações.... hoje ela vem assim:

filial secao oficial real diferenca afastados ferias salarioativo salarioferias

1 01.01.01 1 1 0 6 6 85895.00 5661.00

1 01.01.02 1 1 0 6 6 85895.00 5661.00

preciso assim:

(agrupar filial, oficial, real e diferenca) os demais campos permacem o mesmo valor por filial.

filial oficial real diferenca afastados ferias salarioativo salarioferias

1 2 2 0 6 6 85895.00 5661.00

A questão é esse subselect que não consigo agrupar....

DECLARE @FILIAL INT

SET @FILIAL = 1

SELECT B.CODFILIAL AS FILIAL,B.CODSECAO AS SECAO,A.LIMITEFUNC AS QUADROOFICIAL,COUNT (B.CHAPA)AS QUADROREAL,

(A.LIMITEFUNC - COUNT (B.CHAPA)) AS DIFERENCA, (SELECT COUNT (CHAPA) FROM PFUNC WHERE CODCOLIGADA = 1 AND CODFILIAL = @FILIAL AND CODSITUACAO NOT IN ('D','U','A','F')) AS AFASTADOS,

(SELECT COUNT (CHAPA) FROM PFUNC WHERE CODCOLIGADA = 1 AND CODFILIAL = @FILIAL AND CODSITUACAO IN ('F')) AS FERIAS,

(SELECT SUM (SALARIO) FROM PFUNC WHERE CODCOLIGADA = 1 AND CODFILIAL = @FILIAL AND CODSITUACAO NOT IN ('D') AND CODTIPO NOT IN ('D','T')) AS SALARIOATIVO,

(SELECT SUM (SALARIO) FROM PFUNC WHERE CODCOLIGADA = 1 AND CODFILIAL = @FILIAL AND CODSITUACAO IN ('F'))AS SALARIOFERIAS

FROM PSECAO A ,PFUNC B

WHERE A.CODCOLIGADA = B.CODCOLIGADA

AND A.CODCOLIGADA = 1

AND A.CODIGO = B.CODSECAO

AND B.CODSITUACAO NOT IN ('D','U')

AND B.CODTIPO NOT IN ('D','T')

AND SUBSTRING (B.CODSECAO,0,3)= @FILIAL

GROUP BY B.CODFILIAL,B.CODSECAO,A.LIMITEFUNC

COMPUTE SUM (A.LIMITEFUNC), SUM( COUNT(B.CHAPA))

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  92
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  791
  • Conteúdo/Dia:  0.13
  • Reputação:   1
  • Pontos/Conquistas:  4.838
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  38

ja tentou usar o Distinct ou Unique?

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.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Jidham,

Se o resultado for esse que está em colorido não irá conseguir agrupar pois o código da sua seção são diferentes. O que você pode fazer é mostrar as seções na mesma linha concatenadas. Você pode fazer isso através de uma função.

[]'s

Link para comentar
Compartilhar em outros sites


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

Nesse caso, eu só mostrei as seções, e mesmo tirando eu não consegui agrupá-las...preciso agrupar por filial sem as seções mesmo.

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.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Nesse caso, eu só mostrei as seções, e mesmo tirando eu não consegui agrupá-las...preciso agrupar por filial sem as seções mesmo.

Remova da sua consulta essa linha aqui

COMPUTE SUM (A.LIMITEFUNC), SUM( COUNT(B.CHAPA) que é para funcionar.

[]'s

Link para comentar
Compartilhar em outros sites


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

Tirei a linha e continua vindo varios registros para a mesma filial, eu tirei a secao do select e do group by, e mesmo assim nao tem efeito nenhum.

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.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Tirei a linha e continua vindo varios registros para a mesma filial, eu tirei a secao do select e do group by, e mesmo assim nao tem efeito nenhum.

Poderia postar o resultado da sua consulta ?

e consulta como ficou depois de ter tirado a linha?

[]'s

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.