我需要对此问题使用嵌套查询,但我之前从未使用过嵌套查询。任何帮助表示赞赏。这就是问题所在: "列出那些运输重量超过200磅的零件的供应商的名称。"
这是我使用自然加入的方式。但问题需要嵌套查询。
SELECT Suppliers.sname
FROM Suppliers NATURAL JOIN Shipments
NATURAL JOIN Parts
WHERE Shipments.quantity >= '1'
AND Parts.weight > '200';
我到目前为止尝试过这就是我所拥有的:
SELECT Suppliers.sname
FROM Suppliers, Shipments
WHERE Suppliers.snum = Shipments.snum
AND Shipments.quantity >= ‘1’
AND (
SELECT Parts.weight
FROM Parts
) > ‘200’;
这里是指向ERD图表图像的链接: http://tinypic.com/r/244qr74/8
答案 0 :(得分:1)
我认为他们希望您使用嵌套查询的原因是,如果该供应商有多个货件,其中零件重量超过200磅,则您的自然联接会为单个供应商返回多个记录。现在,猜测你的密钥,因为他们没有提供,我认为他们正在寻找这样的东西:
Select s.sname Supplier
From Suppliers s
Where s.snum In(
Select Distinct sh.snum
From Shipments sh
Natural Join Parts p
Where p.Weight > 200)
编辑我更新了查询,以使用更新的图片上显示的snum密钥名称。