0

我有一个S包含供应商(S,SNAME,CITY)的表,一个P包含产品(P,PNAME,COLOUR,WEIGHT,PRICE)的表和一个SP包含交付(S,P,QTY)的表,其中 S 和 P 是表的外键S和P。

我被要求做的是

“显示交付最多的供应商的名称(作为嵌套查询)。”

我该怎么做呢?

编辑:删除了我声称工作正常的代码。不是。

4

2 回答 2

0

我找到了解决方案。我猜太明显了。我很难弄清楚要使用什么内部查询。

SELECT SNAME FROM S, SP WHERE S.S = SP.S AND QTY = (SELECT MAX(QTY) FROM SP)
于 2010-09-01T08:56:20.070 回答
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
于 2010-09-01T08:32:46.270 回答