Ir para o conteúdo
nunopicado

[Resolvido] Filtrar por Alias numa query com Group By

Mensagens Recomendadas

nunopicado

Boa noite pessoal

Tenho a seguinte query numa base de dados:

SELECT *,Sum(Quant) AS Stock,
MovStock.ArtigoID AS ArtID,
(SELECT DataDoc FROM LinhasDoc WHERE ArtigoID=ArtID ORDER BY DataDoc LIMIT 1) AS DataInicial

From MovStock
INNER JOIN Products on Products.ArtigoID = MovStock.ArtigoID
WHERE (UsaLotes=1) AND (MovStock.ArtigoID=010)
GROUP BY Lote
ORDER BY DataInicial

O meu problema é: Mostrar só os registos em que a coluna Stock seja maior que 0.

No WHERE não posso por o alias, mas se puser SUM(Quant) no WHERE ou o Stock>0 com o HAVING, dá-me erro de sintaxe.

Alguma ideia de como posso conseguir isto?

Abraço e desde já, obrigado

Nuno Picado

----------------------------------

Deixem estar, obrigado...

Deu-me a luz de repente!

Tenho de ter o HAVING depois do GROUP BY! ;) Fica a info para o próximo que precise!

Editado por nunopicado

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Eu testei meter a soma como subquery, mas o problema manteve-se.

O HAVING também não posso dizer que conheça. Foi a primeira vez que o usei. Sabia que aceitava o uso de Alias, mas nunca tinha testado.

Quando testei, antes de criar o tópico, meti-o logo a seguir ao WHERE, e cheguei a tentar usá-lo para substituir o WHERE, com todas as condições a serem testadas pelo HAVING. Nada feito, dava sempre erro.

Já depois de criar o tópico lembrei-me de tentar meter o HAVING depois do GROUP BY, apenas com a condição do alias (mantendo o WHERE para o resto), e aí funcionou às mil maravilhas. :)

Editado por nunopicado

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.