SQL: выборки

Модератор: Модераторы разделов

skillergti
Сообщения: 34
ОС: slackware

SQL: выборки

Сообщение skillergti »

Здравствуйте.
Выполняю задание на тему "запросы к БД".
В БД имеется 3 таблицы: Жанр, Студия, Фильм.
По заданию требуется сделать выборку студий на которых снимаетются фильмы одного жанра.
Используется для этого ms access.
Максимум, что получилось сделать - это выборку студий которые отсняли только один фильм.
Пытался сначала сделать выборку студий по жанрам, с количеством отснятых фильмов.
В итоге получил:
Студия(название) - Количеств фильмов Жанра
Студия1 - 2
Студия1 - 1
Студия2 - 1
Но так и не додумался как сделать последний шаг.

Немогли бы вы подсказать как решить данную задачу.


ps: сорри за офтоп софт, но предполагаю что и в других продуктах решения будут очень похожи.
Спасибо сказали:
Аватара пользователя
Dmitrys
Сообщения: 131
ОС: Arch Linux

Re: SQL: выборки

Сообщение Dmitrys »

Вы бы структуру таблиц для начала выложили.
Спасибо сказали:
Аватара пользователя
Dmitrys
Сообщения: 131
ОС: Arch Linux

Re: SQL: выборки

Сообщение Dmitrys »

Вообще скорее всего вам нужно сделать выборку из всех трех таблиц, и в условиях прописать:
1) название жанра = 'ваше название'
2) внешний ключ таблицы фильмов, который указывает на нужный жанр = id жанра
3) внешний ключ таблицы фильмов, который указывает на нужную студию = id студии

Как то так.
Спасибо сказали:
mix1m
Сообщения: 187
ОС: openSUSE 11.2

Re: SQL: выборки

Сообщение mix1m »

В реальности было бы так, но скорее всего надо выбрать все соотношения
"студия-жанр", сделать group by(жанр) и выбрать записи у которых больше 1 строки на каждый жанр, а затем обернуть это в еще один селект, который выберет все студии с найденными жанрами.
Это простой вариант.
Можно с ранжированием попробовать. Будет примерно тоже, но изящнее

а вообще - ddl таблиц в студию;)
Попытка - первый шаг к провалу (с) Гомер
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

Re: SQL: выборки

Сообщение sarutobi »

Хотелось бы у точнить задание - нужно сделать выборку студий, которые снимают фильмы по жанрам, или нужно еще и названия фильмов?
Алгоритм действий такой: делаете вид, в котором объединяете студии, жанры и фильмы (производите полную денормализацию данных), потом на основе этого вида делаете сложный отчет/форму с подчинением с группировкой по жанрам (именно в Access этоможно сделать с помощью мастера).
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали: