Здравствуйте.
Выполняю задание на тему "запросы к БД".
В БД имеется 3 таблицы: Жанр, Студия, Фильм.
По заданию требуется сделать выборку студий на которых снимаетются фильмы одного жанра.
Используется для этого ms access.
Максимум, что получилось сделать - это выборку студий которые отсняли только один фильм.
Пытался сначала сделать выборку студий по жанрам, с количеством отснятых фильмов.
В итоге получил:
Студия(название) - Количеств фильмов Жанра
Студия1 - 2
Студия1 - 1
Студия2 - 1
Но так и не додумался как сделать последний шаг.
Немогли бы вы подсказать как решить данную задачу.
ps: сорри за офтоп софт, но предполагаю что и в других продуктах решения будут очень похожи.
SQL: выборки
Модератор: Модераторы разделов
-
- Сообщения: 131
- ОС: Arch Linux
Re: SQL: выборки
Вы бы структуру таблиц для начала выложили.
-
- Сообщения: 131
- ОС: Arch Linux
Re: SQL: выборки
Вообще скорее всего вам нужно сделать выборку из всех трех таблиц, и в условиях прописать:
1) название жанра = 'ваше название'
2) внешний ключ таблицы фильмов, который указывает на нужный жанр = id жанра
3) внешний ключ таблицы фильмов, который указывает на нужную студию = id студии
Как то так.
1) название жанра = 'ваше название'
2) внешний ключ таблицы фильмов, который указывает на нужный жанр = id жанра
3) внешний ключ таблицы фильмов, который указывает на нужную студию = id студии
Как то так.
-
- Сообщения: 187
- ОС: openSUSE 11.2
Re: SQL: выборки
В реальности было бы так, но скорее всего надо выбрать все соотношения
"студия-жанр", сделать group by(жанр) и выбрать записи у которых больше 1 строки на каждый жанр, а затем обернуть это в еще один селект, который выберет все студии с найденными жанрами.
Это простой вариант.
Можно с ранжированием попробовать. Будет примерно тоже, но изящнее
а вообще - ddl таблиц в студию
"студия-жанр", сделать group by(жанр) и выбрать записи у которых больше 1 строки на каждый жанр, а затем обернуть это в еще один селект, который выберет все студии с найденными жанрами.
Это простой вариант.
Можно с ранжированием попробовать. Будет примерно тоже, но изящнее
а вообще - ddl таблиц в студию

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