我目前正在sql-ex
问题如下:
对于生产硬盘容量为10 Gb或更高的笔记本电脑的每个制造商,找到这种笔记本电脑的速度。结果集:制造商,速度。
数据库包含4个表
产品(制造商,型号,类型)
笔记本电脑(型号,价格,速度,内存,高清,屏幕)
PC(型号,价格,速度,内存,高清)
打印机(型号,价格,颜色,价格)
我的回答:
SELECT Product.maker,
Laptop.speed
FROM Product JOIN Laptop
ON Product.model = Laptop.model
WHERE Laptop.hd >= 10
结果是正确的,但他们说:
您的查询在第一个(可用)数据库上返回了正确的数据集,但它在第二个检查数据库上返回了不正确的数据集。 *错误的记录数量(更多2)
所以我想知道我的答案有什么问题。
希望得到一些帮助!
提前致谢。
答案 0 :(得分:1)
您必须在DISTINCT
子句中添加SELECT
,因为某些笔记本电脑可能具有相同的速度:
SELECT DISTINCT Product.maker,
Laptop.speed
FROM Product JOIN Laptop
ON Product.model = Laptop.model
WHERE Laptop.hd >= 10
答案 1 :(得分:0)
我想你忘了指定:
SELECT Product.maker
,Laptop.speed
FROM Product JOIN Laptop
ON Product.model = Laptop.model
WHERE Laptop.hd >= 10
AND Type = 'Laptop'