我有一个包含供应商(S,SNAME,CITY)的表S
,包含产品(P,PNAME,COLOR,WEIGHT,PRICE)和表P
的表SP
包含交付(S,P,QTY),其中S和P是表S和P的外键。
我被要求做的是
“显示已交付最大交货的供应商的名称(作为嵌套查询)。”
我将如何做到这一点?
编辑:删除了我声称工作正常的代码。事实并非如此。
答案 0 :(得分:0)
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
答案 1 :(得分:0)
我找到了解决方案。我觉得太明显了。我无法弄清楚要使用的内部查询。
SELECT SNAME FROM S, SP WHERE S.S = SP.S AND QTY = (SELECT MAX(QTY) FROM SP)