【发布时间】:2011-12-14 21:11:49
【问题描述】:
我有一个令我困惑的家庭作业问题。
列出不符合要求的每个供应商标识号和供应商名称 提供“功率范围”和“电动螺丝刀”。
所以,我们有一个 vendor、vendorcatalog 和 inventorydes 表。
供应商
vid(供应商 ID - 主键) 供应商名称 地址
供应商目录
vid(供应商 ID) itemno(项目编号)
两者都是主键。
库存
itemno(主键) 物品描述
当前查询
SELECT vid, vendorname
FROM (SELECT vendor.vid, vendor.vendorname
FROM inventorydes, vendor, vendorcatalog
WHERE inventorydes.itemno = vendorcatalog.itemno
AND vendorcatalog.vid = vendor.vid
AND inventorydes.itemdescription NOT IN ('power range', 'power screw driver'))
这会显示所有不提供该商品的供应商,但随后会列出他们出售的每件商品的每个供应商。我只需要一个带有供应商名称的供应商 ID 列表,而不是每个正在出售的商品的带有供应商名称的供应商 ID。
所以,我需要的是一个 SQL 查询(在 Oracle 数据库上运行),它将获取不提供电源范围和电源螺丝刀的每个供应商 ID。
最终输出应该是这样的:
v1 |此供应商的名称
v2 |此供应商的名称
v3 |此供应商的名称
只有 4 家供应商,而第 4 家供应商是提供功率范围和电动螺丝刀的供应商。
【问题讨论】: