Показать имена поставщиков, которые доставили наибольшую доставку (вложенный запрос)? - PullRequest
0 голосов
/ 01 сентября 2010

У меня есть таблица S с поставщиками (S, SNAME, CITY), таблица P с продуктами (P, PNAME, COLOR, WEIGHT, PRICE) и таблица SP с доставками (S, P, QTY) где S и P - внешние ключи к таблице S и P.

То, что меня попросили сделать, это

"Показать название поставщика (ов), которыедоставили самую большую доставку (как вложенный запрос). "

Как мне поступить?

РЕДАКТИРОВАТЬ: Удален фрагмент кода, который, как я утверждал, работает нормально.Это не было.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2010

Я нашел решение.Слишком очевидно, я думаю.У меня были проблемы с определением, какой внутренний запрос использовать.

SELECT SNAME FROM S, SP WHERE S.S = SP.S AND QTY = (SELECT MAX(QTY) FROM SP)
0 голосов
/ 01 сентября 2010
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
...