USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SQL
Eriston
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 16/02/2005 17:13 hs            
Olá pessoal,
 
Estou com o seguinte problema, preciso montar uma subconsulta numa query.
 
strSQL="select a.codigo, a.nome, a.nome2, Sum(b.valorpago) as ValorDoConsumo, saldoanterior, (Sum(b.valorpago)+saldoanterior) as valortotalconsumo from clientes a inner join consumo b on a.codigo = b.codigo where ultimoconsumo > '2004/08/20' and a.ativo = 1 and a.pendente = 0 and b.ativo = 1 and b.resgatado = 0 group by a.codigo, a.nome, a.nome2 order by a.nome, a.nome2"
 
Essa instrução me retorna o nome do cliente e o total de gasto desse cliente.
 
Mas, gostaria que só me retornasse os registros onde o total de gasto(valortotalconsumo ) for MAIOR que 300.
 
Seria mais ou menos isso, mas não funcionou.
 
strSQL="SELECT SUM(b.valorpago)+saldoanterior) AS valortotalconsumo FROM consumo WHERE valortotalconsumo>=300(SELECT a.codigo, a.nome, a.nome2, SUM(b.valorpago) AS ValorDoConsumo, saldoanterior, (SUM(b.valorpago)+saldoanterior) AS valortotalconsumo FROM clientes a INNER JOIN consumo b ON a.codigo = b.codigo WHERE ultimoconsumo > '2004/08/20' AND a.ativo = 1 AND a.pendente = 0 AND b.ativo = 1 AND b.resgatado = 0 GROUP by a.codigo, a.nome, a.nome2 ORDER BY a.nome, a.nome2)"
 
Quem poder ajudar eu agraceço. Emoções
 
At,
 
Eriston
 
 
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 17/02/2005 07:39 hs         
para filtro em somatórios de grupos, deve-se usar a cláusula HAVING
 
select
 a.codigo,
 a.nome,
 a.nome2,
 Sum(b.valorpago) as ValorDoConsumo,
 saldoanterior,
 (Sum(b.valorpago)+saldoanterior) as valortotalconsumo
from clientes a inner join consumo b on a.codigo = b.codigo
where ultimoconsumo > '2004/08/20'
and a.ativo = 1
and a.pendente = 0
and b.ativo = 1
and b.resgatado = 0
group by a.codigo, a.nome, a.nome2 order by a.nome, a.nome2"
having (Sum(b.valorpago)+saldoanterior) >= 300
   
Eriston
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 17/02/2005 09:30 hs            
Muito obrigado Martini, me salvou mesmo. Estava tentando fazer isso há 2 dias e nada dava certo, agora usando o Having ficou show de bola.
 
Muito obrigado mesmo, qualquer coisa estamos ai, sou programado ASP.
(theriston#yahoo.com)
 
At,
 
Eriston
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página