Sintaxe Mysql

bandalho_zune

I'm cool cuz I Fold
Boas tardes amigos, tenho um query que executa um calculo e devolve o seu valor, só que eu preciso do valor desse calculo na clausula WHERE, para isso atribuí esse calculo a uma variável, só que quando uso essa variavel na clausula WHERE ele não me devolve resultados.
Gostaria de saber como guardar o valor do calculo para usar na clausula WHERE
Cumps


Código:
SELECT al.Nome, @var:=(sum(per.percentagem * av.nota)/count(av.Nota)) as Nota_Final
FROM aluno as al
inner join avaliacao as av
on al.idAluno = av.Aluno_idAluno
inner join periodo pe
on pe.idPeriodo = av.Periodo_idPeriodo
inner join percentagem as per
on per.idpercentagem = av.Percentagem_idpercentagem
WHERE pe.idPeriodo = '1' and @var>0
GROUP BY Nome
 
Última edição pelo moderador:
Boas tardes amigos, tenho um query que executa um calculo e devolve o seu valor, só que eu preciso do valor desse calculo na clausula WHERE, para isso atribuí esse calculo a uma variável, só que quando uso essa variavel na clausula WHERE ele não me devolve resultados.
Gostaria de saber como guardar o valor do calculo para usar na clausula WHERE
Cumps


SELECT al.Nome, @var:=(sum(per.percentagem * av.nota)/count(av.Nota)) as Nota_Final
FROM aluno as al
inner join avaliacao as av
on al.idAluno = av.Aluno_idAluno
inner join periodo pe
on pe.idPeriodo = av.Periodo_idPeriodo
inner join percentagem as per
on per.idpercentagem = av.Percentagem_idpercentagem
WHERE pe.idPeriodo = '1' and @var>0
GROUP BY Nome

Olá,

Faz assim:

Código:
SELECT al.Nome, (sum(per.percentagem * av.nota)/count(av.Nota))) as Nota_Final
FROM aluno as al
inner join avaliacao as av
on al.idAluno = av.Aluno_idAluno
inner join periodo pe
on pe.idPeriodo = av.Periodo_idPeriodo
inner join percentagem as per
on per.idpercentagem = av.Percentagem_idpercentagem
WHERE pe.idPeriodo = '1'
GROUP BY al.Nome
HAVING sum(per.percentagem * av.nota)/count(av.Nota)) > 0

Espero ter ajudado.
 
Back
Topo