Ir para conteúdo
  • Cadastre-se

dev botao

Resultado de um group by


  • Este tópico foi criado há 1889 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

oi preciso pegar essas duas colunas e so trazer se a outra for maior o resultado 

select  i.codvend, sum(i.vlrtotal) soma_item,

  (  select   sum(c.vlrtotal) from tab_vend c where c.codvend=i.codvend  group by
  c.codvend)  soma_venda

 from tab_item  i
 left join tab_vend w on ( w.codvend = i.codvend)
 where
 w.datvend>=:dae

 group by
  i.codvend
 

 

e que quero vereficar se tem algum registro com soma da venda menor que dos itens 

 

ja fiz assim nao deu certo (NO FINAL)

HAVING (  select   sum(c.vlrtotal) from tab_vend c where c.codvend=i.codvend  group by
  c.codvend)<   sum(i.vlrtotal)
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
9 horas atrás, dreamsoft_PR disse:

e que quero vereficar se tem algum registro com soma da venda menor que dos itens 

select
  i.codvend
  , w.vlrtotal soma_venda
  , sum(i.vlrtotal) soma_item
from tab_item  i
left join tab_vend w on (w.codvend = i.codvend)
where w.datvend>=:dae
group by i.codvend, w.vlrtotal
having sum(i.vlrtotal) > w.vlrtotal

 

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

dreamsoft_PR, Você não disse qual banco está utilizando.

Mas no geral, você poderia utilizar uma tabela derivada. Algo assim:

select * from (
	select i.codvend
		  ,sum(i.vlrtotal) soma_item
		  ,(select sum(c.vlrtotal) 
			from tab_vend c 
			where c.codvend = i.codvend
			group by c.codvend) soma_venda
	from tab_item i
	left join tab_vend w on (w.codvend = i.codvend)
	where w.datvend >= :dae
	group by i.codvend
)
where soma_venda < soma_item

Outra alternativa semelhante é utilizar a cláusula WITH

Faça uns testes e compartilhe o resultado.

Abraço.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1889 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.