Estoy trabajando en este problema SQL:Problema de SQL con funciones agregadas en where cláusula
Muestra las órdenes de compra cuyo importe cobrado y cantidad real son diferentes. Muestre esto mostrando el número de orden de compra, el POAmount para cada orden de compra, el monto real (calculado al agregar los precios de todos los artículos en el pedido) y la diferencia entre los dos. Ordene los resultados para mostrar primero aquellos con las mayores diferencias.
estoy recibiendo el siguiente código cuando se ejecuta la instrucción SQL a continuación:
código de error-1, 42903 Estado SQL: No válido el uso de una función agregada.
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
Creo que es porque estoy usando una función de agregado en mi cláusula where.
¿Cómo puedo solucionar este problema ???
Gracias,
es 'cantidad' siempre mayor que' real'? de lo contrario, es posible que desee 'ordenar por ABS (diff)' o algo similar dependiendo de su sabor de SQL – tobyodavies