Проблема SQL с агрегатными функциями в предложении where

Я работаю над этой проблемой SQL:

Показать все заказы на покупку, у которых начисленная сумма и фактическая сумма отличаются. Покажите это, отобразив номер заказа на покупку, сумму заказа на поставку для каждого заказа на покупку, фактическую сумму (рассчитанную путем сложения цен всех позиций в заказе), и разница между ними. Отсортируйте результаты, чтобы сначала отобразить результаты с наибольшими различиями.

Я получаю следующий код при выполнении приведенного ниже оператора sql:

Код ошибки -1, состояние SQL 42903: недопустимое использование агрегатной функции.

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

Я думаю, это потому, что я использую агрегатную функцию в своем предложении where.

Как я могу решить эту проблему ???

Спасибо,

6
задан OMG Ponies 4 November 2010 в 00:24
поделиться