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

Ajuda com PL/SQL


Rhicky

Posts Recomendados


  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Pessoal, a consulta abaixo retorna duas linhas, porém preciso que retorne apenas uma linha (com a soma das duas linhas). O que precisa ser modificiado ?

SELECT SUM(PFFERIAS.REF) REF, SUM(PFFERIAS.VALOR) VLR, SUM(PFFERIAS.VALOR * PEVENTO.INCIRRFFERIAS) INCIRRF, SUM(PFFERIAS.VALOR * PEVENTO.INCFGTS) INCFGTS

FROM PFFERIAS, PFPERFER, PFHSTFER, PEVENTO, PFUNC

WHERE PFFERIAS.CODCOLIGADA = PFPERFER.CODCOLIGADA AND PFFERIAS.CHAPA = PFPERFER.CHAPA AND

PFFERIAS.DTVENCIMENTO = PFPERFER.DTVENCIMENTO AND PFFERIAS.NROPERIODO = PFPERFER.NROPERIODO AND

PFPERFER.CODCOLIGADA = PFHSTFER.CODCOLIGADA AND PFPERFER.CHAPA = PFHSTFER.CHAPA AND

PFPERFER.DTVENCIMENTO = PFHSTFER.DTFIMPERAQUIS AND PFPERFER.NROPERIODO = PFHSTFER.NROPERIODO AND

PFFERIAS.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFERIAS.CODEVENTO = PEVENTO.CODIGO AND

PFPERFER.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFPERFER.CHAPA = PFUNC.CHAPA AND

PFFERIAS.CODCOLIGADA =1 AND PROVDESCBASE = 'P' AND CODEVENTO = '0080' AND

PFHSTFER.DTINIGOZO BETWEEN '05/01/2008' AND '05/31/2008'

HAVING SUM(VALOR) >0

UNION

SELECT SUM(PFFERIAS.REF) REF, SUM(PFFERIAS.VALOR) VLR, SUM(PFFERIAS.VALOR * PEVENTO.INCIRRFFERIAS) INCIRRF, SUM(PFFERIAS.VALOR * PEVENTO.INCFGTS) INCFGTS

FROM PFFERIAS, PFPERFER, PFHSTFER, PEVENTO, PFUNC

WHERE PFFERIAS.CODCOLIGADA = PFPERFER.CODCOLIGADA AND PFFERIAS.CHAPA = PFPERFER.CHAPA AND

PFFERIAS.DTVENCIMENTO = PFPERFER.DTVENCIMENTO AND PFFERIAS.NROPERIODO = PFPERFER.NROPERIODO AND

PFPERFER.CODCOLIGADA = PFHSTFER.CODCOLIGADA AND PFPERFER.CHAPA = PFHSTFER.CHAPA AND

PFPERFER.DTVENCIMENTO = PFHSTFER.DTFIMPERAQUIS AND PFPERFER.NROPERIODO = PFHSTFER.NROPERIODO AND

PFFERIAS.CODCOLIGADA = PEVENTO.CODCOLIGADA AND PFFERIAS.CODEVENTO = PEVENTO.CODIGO AND

PFPERFER.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFPERFER.CHAPA = PFUNC.CHAPA AND

PFFERIAS.CODCOLIGADA = 1 AND PROVDESCBASE = 'P' AND CODEVENTO ='0080' AND

PFPERFER.DTVENCIMENTO = PFUNC.DTVENCFERIAS AND

PFPERFER.NROPERIODO = (SELECT NVL(NROPERIODO,1)

FROM PFHSTFER

WHERE PFPERFER.DTVENCIMENTO = PFHSTFER.DTFIMPERAQUIS AND

PFPERFER.NROPERIODO = PFHSTFER.NROPERIODO AND

PFPERFER.CHAPA = PFHSTFER.CHAPA AND

PFPERFER.CODCOLIGADA = PFHSTFER.CODCOLIGADA) AND

PFUNC.INICPROGFERIAS1 BETWEEN '05/01/2008' AND '05/31/2008'

HAVING SUM(VALOR) >0

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  548
  • Conteúdo/Dia:  0.09
  • Reputação:   1
  • Pontos/Conquistas:  2.891
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Ricky,

Por que você está utilizando duas sentenças? Tem como detalhar um pouco o objetivo de cada uma?

Att,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  120
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  400
  • Conteúdo/Dia:  0.06
  • Reputação:   0
  • Pontos/Conquistas:  3.200
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Ricky,

Por que você está utilizando duas sentenças? Tem como detalhar um pouco o objetivo de cada uma?

Att,

Conforme solicitado pelo cliente, estou desenvolvendo um relatório de folha analítica de férias, o objetivo de cada sentença é atender as necessidades do cliente. Porém, como já mencionado anteriormente estou precisando unificar o resultado dos dois selects em uma única linha. Da forma que está o select retorna duas linhas. O que deve ser feito na instrução para que a consulta retorne os dois selects somados ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  548
  • Conteúdo/Dia:  0.09
  • Reputação:   1
  • Pontos/Conquistas:  2.891
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Rhicky,

Bom... antes de mais nada você está utilizando a função UNION para unir as duas sentenças. Vale lembra que o UNION desconsidera os resultados idênticos das duas sentenças. Caso você precise retornar os dados das duas sentenças mesmo que sejam idênticas, utilize o UNION ALL.

Para simplesmente somar os resultados das duas sentenças faça uma sentença externa somando os valores e agrupando se necessáio, exemplo:


SELECT CODIGO,
		SUM(VALOR)
FROM (SELECT CODIGO,
				  SUM(VALOR) VALOR
	  FROM TABELA_A
	  GROUP BY CODIGO

	  UNION ALL

	  SELECT CODIGO,
				  SUM(VALOR) VALOR
	  FROM TABELA_B
	  GROUP BY CODIGO )
GROUP BY CODIGO

Att,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  902
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.857
  • Conteúdo/Dia:  1.34
  • Reputação:   311
  • Pontos/Conquistas:  106.711
  • Conteúdo Resolvido:  0
  • Dias Ganho:  196
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

É isso ai, tá dado o caminho :Valeu:

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.