Нужна помощь с запросом SQL - PullRequest
2 голосов
/ 08 мая 2011

Вот соответствующие таблицы:

movie 
(
    mvnumb int, 
    mvtitle char(100), 
    yrmde int, 
    mvtype char(9), 
    crit int, 
    mpaa char(6), 
    noms int, 
    awrd int, 
    dirnumb int
)


director 
( 
    dirnumb int, 
    dirname char(36), 
    dirborn int, 
    dirdied int
)

Моя цель - создать запрос SQL, в котором указано имя директора, получившего максимальное количество наград (awrd). Я не могу заставить это работать ... любая помощь будет принята с благодарностью ... большое спасибо.

1 Ответ

3 голосов
/ 08 мая 2011

Примерно так (SQL Server):

select top 1 d.dirname,sum(awrd) awrd
from director d
inner join movie m
on m.dirnumb=d.dirnumb
group by d.dirname
order by sum(awrd) desc

Или, на Oracle:

select * from (
select d.dirname, sum(awrd) awards
from director d
inner join movie m
on m.dirnumb=d.dirnumb
group by d.dirname
order by sum(awrd) desc )
where rownum<2;

РЕДАКТИРОВАТЬ: модифицированный запрос Oracle, как предложил @pilcrow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...