我对网站http://www.sql-ex.ru/上的 sql 查询有疑问。查询要求:
定义制造商 A 生产的个人电脑和笔记本电脑的平均价格。
数据库架构如下:
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)
我将查询写为:
SELECT AVG(t.k) AS Avg_Price
FROM
  (SELECT AVG(A.price) AS k
    FROM PC A 
  JOIN Product B ON(A.model=B.model)
  WHERE B.maker='A'
  UNION ALL
  SELECT AVG(C.price) AS k
     FROM Laptop C
  JOIN PRODUCT D ON(C.model=D.model)
  WHERE D.maker='A') AS t
问题是它没有返回正确的答案。平均回报远高于预期。计算平均值的方式是否错误?如何更改查询以使其返回预期的答案?任何帮助,将不胜感激。
谢谢