Sサプライヤー(S、SNAME、CITY)を含むテーブル、P製品(P、PNAME、COLOUR、WEIGHT、PRICE)をSP含むテーブル、および配送(S、P、QTY)を含むテーブルがあります。ここで、SとPはテーブルへの外部キーです。 SとP。
私に頼まれたことは
「(ネストされたクエリとして)最大の配信を配信したサプライヤの名前を表示します。」
どうすればこれを行うことができますか?
編集:私が正常に機能していると主張したコードの一部を削除しました。そうではありませんでした。
Sサプライヤー(S、SNAME、CITY)を含むテーブル、P製品(P、PNAME、COLOUR、WEIGHT、PRICE)をSP含むテーブル、および配送(S、P、QTY)を含むテーブルがあります。ここで、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)