1

我一直在尝试设置此查询。

SELECT P.ProductNo,P.Description, AVG(OrderLine.ActualPrice)
FROM Product P
INNER JOIN OrderLine
     ON OrderLine.ProductNo = P.ProductNo
WHERE AVG(ActualPrice) > 
                 (SELECT AVG(ActualPrice)
                          FROM OrderLine)

我的目标是将产品的平均实际价格与所有产品的平均价格进行比较。但我似乎没有让它发挥作用。我在哪里错了?

4

1 回答 1

3
  • 采用GROUP BY
  • 使用聚合条件时,使用HAVING代替WHERE

询问,

SELECT  P.ProductNo, P.Description, AVG(OrderLine.ActualPrice)
FROM    Product P
        INNER JOIN OrderLine
              ON OrderLine.ProductNo = P.ProductNo
GROUP BY P.ProductNo, P.Description
HAVING AVG(ActualPrice) > (SELECT AVG(ActualPrice)  FROM OrderLine)
于 2012-11-13T08:59:59.917 回答