Sql 显示交付最大交付量的供应商名称(嵌套查询)?
我有一个包含供应商(S、SNAME、CITY)的表Sql 显示交付最大交付量的供应商名称(嵌套查询)?,sql,nested-query,Sql,Nested Query,我有一个包含供应商(S、SNAME、CITY)的表S,一个包含产品(p、PNAME、颜色、重量、价格)的表p,还有一个包含交货(S、p、数量)的表SP,其中S和p是表S和p的外键 我被要求做的是 “显示交付最大交付量的供应商的名称(作为嵌套查询)。” 我该怎么做呢 编辑:删除了我声称工作正常的代码。不是。我找到了解决办法。我想这太明显了。我很难弄清楚要使用什么内部查询 select s.sname, sum(sp.qty) from s, sp, (select
S
,一个包含产品(p、PNAME、颜色、重量、价格)的表p
,还有一个包含交货(S、p、数量)的表SP
,其中S和p是表S和p的外键
我被要求做的是
“显示交付最大交付量的供应商的名称(作为嵌套查询)。”
我该怎么做呢
编辑:删除了我声称工作正常的代码。不是。我找到了解决办法。我想这太明显了。我很难弄清楚要使用什么内部查询
select s.sname, sum(sp.qty)
from s,
sp,
(select max(qty) val
from (select sum(sp.qty) qty
from s, sp, p
where sp.p = p.p
and sp.s = s.s
group y s.sname)) max_q
where sp.s = s.s
group by s.sname
having sum(sp.qty) = max_q.val
SELECT SNAME FROM S, SP WHERE S.S = SP.S AND QTY = (SELECT MAX(QTY) FROM SP)
这是家庭作业吗?您使用的是哪种数据库?如果您将每个
S
与每个SP
联接,而不检查外键列S
,则当前查询如何工作?否。你选择一个产品的最大交货量,但你必须考虑你的供应商可以交付多个产品,在这种情况下,你必须总结交付量。SP中的行都是单次交付,我认为他们要求最大的单次交付。如果不是,您是正确的:)