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
  • use GROUP BY
  • when using aggregated condition, use HAVING instead of WHERE

query,

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 に答える