SQL problème avec les fonctions d'agrégation dans la clause where

Je suis en train de travailler sur ce problème SQL:

Montrer des ordres d'achat dont le montant facturé et le montant réel sont différents. Montrons par l'affichage du numéro de commande d'achat, le POAmount pour chaque bon de commande, le montant réel (calculé en additionnant le prix de tous les articles dans l'ordre), et la différence entre les deux. Trier les résultats montrent que ceux qui sont les différences les plus importantes en premier.

J'obtiens le code suivant lors de l'exécution de l'instruction sql ci-dessous:

Code d'erreur -1, SQL état 42903: Invalide l'utilisation d'une fonction d'agrégation.

select 
  purchaseorder.ponum, 
  purchaseorder.amount, 
  sum(poitems.quantity*poitems.unitprice), 
  purchaseorder.amount-sum(poitems.quantity*poitems.unitprice)
from  purchaseorder, poitems
where 
  purchaseorder.ponum = poitems.ponum 
    and purchaseorder.amount!=sum(poitems.quantity*poitems.unitprice)
group by 
  purchaseorder.ponum, 
  purchaseorder.amount

Je pense que c'est parce que je suis en utilisant une fonction d'agrégation dans ma clause where.

Comment puis-je remédier à ce problème???

Merci,

OriginalL'auteur novicePrgrmr | 2010-11-03