Fórum Comando SELECT. Como usar campo criado na cláusula WHERE? #502326
24/11/2014
0
select sum(entrega.quant) as quant, medicacao.nome, medicacao.quant, ((sum(entrega.quant) - medicacao.quant) * 1.1) as pedido from entrega, medicacao where medicacao.id = entrega.id_medicacao and entrega.data <= current_date and entrega.data >= current_date - 30 group by medicacao.nome, medicacao.quant
quero usar a seguinte linha:
where pedido > 0
sendo que não tenho uma coluna pedido, ela é criada. e já tentei usar assim:
where ((sum(entrega.quant) - medicacao.quant) * 1.1) > 0
porém, recebo um erro que diz, que não posso usar o comando agrupado em cláusula WHERE.
Alguém pode me ajudar?
Italo Pereira
Curtir tópico
+ 0Posts
24/11/2014
William
Gostei + 0
24/11/2014
Italo Pereira
Postei nos 4 bancos porque acho que o comando SQL é semelhante e sem muita diferença.
Abraço.
Gostei + 0
24/11/2014
William
select sum(entrega.quant) as quant, medicacao.nome, medicacao.quant, ((sum(entrega.quant) - medicacao.quant) * 1.1) as pedido from entrega, medicacao where medicacao.id = entrega.id_medicacao and entrega.data <= current_date and entrega.data >= current_date - 30 group by medicacao.nome, medicacao.quant having ((sum(entrega.quant) - medicacao.quant) * 1.1) > 0
Montei copiando os dados que você passou no primeiro post!
Gostei + 0
24/11/2014
Italo Pereira
muito obrigado pela ajuda.
vou aproveitar e estudar mais sobre o comando HAVING.
valewww.
Gostei + 0
29/12/2014
Marisiana Battistella
select result.quant,
result.nome,
result.quant_medicacao,
result.pedido
from (select sum(entrega.quant) as quant,
medicacao.nome,
medicacao.quant as quant_medicacao,
((sum(entrega.quant) - medicacao.quant) * 1.1) as pedido
from entrega
join medicacao
on medicacao.id = entrega.id_medicacao
where entrega.data <= current_date
and entrega.data >= current_date - 30
group by medicacao.nome,
medicacao.quant ) result
where result.pedido > 0 Testa as duas opções e veja qual executa com melhor performance...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)