这只是一个练习问题,有点混淆,如果有人能帮我澄清一下就非常感谢。
我有一个名为“Product”的数据库,另一个名为“PC”。我正在尝试执行一个查询,以“查找那些也制造打印机的制造商的PC的平均硬盘大小”。
以下是我的代码:
SELECT maker, AVG(hd)
FROM pc, product
WHERE pc.model=product.model
GROUP BY maker
HAVING COUNT(type='PR')>=1
类型是产品的一个属性,可以是打印机(PR)、笔记本电脑或个人电脑。然而,HAVING语句似乎并没有仅仅单独选出生产打印机的制造商,相反,我得到了Product表中每个制造商的平均值。
更新
关系如下所示:
Product(maker, model, type)
PC(model, hd, speed, ram, price)
Printer(model, color, type, price)