Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 17

Запросы на выборку

28.05.2019, 23:57. Показов 4715. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Собственно вот задание, мне нужно сделать запросы. Буду очень благодарен если поможете. Базу данных я приложу, если у меня так что-то неправильно, подскажите что исправить.

Минимальный список характеристик:
• Актер, ФИО, звание, амплуа, пол;
• Дата назначения на роль, дата снятия с роли, тип роли, режиссер, номер состава;
• Название роли, тип (амплуа) роли, название пьесы.
На одну и ту же роль могут назначаться разные актеры.
Амплуа: герой-любовник, инженю, злодей т.д.
Тип роли: главная, вторая, эпизод, статист т.д.
Выборки:
• Определить любимого актера режиссера Балаяна.
• Выбрать имена актеров, в творческой биографии которых более 50% ролей назывались ‘кушать подано’.
• Выбрать список пьес, в которых исполнители главных ролей менялись более 3 раз.
• Выбрать список актеров, которые находятся в «творческом простое» с начала 2016 г.
Вложения
Тип файла: rar teatr.rar (21.8 Кб, 134 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2019, 23:57
Ответы с готовыми решениями:

Запросы на выборку и т.д
3) Выбрать адреса и фамилии и.о. абонентов, имеющих номера телефонов, начинающихся с цифр 32. 5) Выбрать фамилии и.о. абонентов и...

Запросы на выборку
Добрый вечер, подскажите можно ли сделать запрос на выборку с таблиц и выводом на экран без возможности корректирования ?

Запросы на выборку
Доброго времени суток, уважаемые форумчане. Нужно вывести из таблиц определённые запросы, но ума не приложу как. Чудо поисковик как гугл,...

8
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 17
29.05.2019, 01:16  [ТС]
Не получается тут вывести актера с наибольшим количеством ролей, выводит всех актеров назначенных на роль Балаяном
SQL
1
2
3
4
SELECT rej.Режисер, roll.Актер, COUNT(roll.Режисер) AS [Количество ролей]
FROM rej INNER JOIN roll ON rej.Код = roll.Режисер
GROUP BY rej.Режисер, roll.Актер
HAVING (((rej.Режисер)="Балаян"));
Куда вписать Max([Количество ролей])? Или так не получится?
0
Эксперт MS Access
 Аватар для Eugene-LS
13176 / 5875 / 1505
Регистрация: 05.10.2016
Сообщений: 16,502
29.05.2019, 01:28
Цитата Сообщение от RaDEnAlpha Посмотреть сообщение
Не получается тут вывести актера с наибольшим количеством ролей
может так?
SQL
1
2
3
4
5
SELECT TOP 1 roll.Актер, COUNT(roll.Режисер) AS [Количество ролей], rej.Режисер
FROM rej INNER JOIN roll ON rej.Код = roll.Режисер
GROUP BY roll.Актер, rej.Режисер
HAVING (((rej.Режисер)="Балаян"))
ORDER BY COUNT(roll.Режисер) DESC;
1
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 17
29.05.2019, 01:33  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
может так?
Да, работает, огромное спасибо.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
29.05.2019, 01:43
Цитата Сообщение от RaDEnAlpha Посмотреть сообщение
SQL
1
2
GROUP BY rej.Режисер, roll.Актер
HAVING (((rej.Режисер)="Балаян"))
HAVING используется для анализа результатов агрегирования (сумм, экстремумов и т.п.).

Здесь же правильнее было бы применить WHERE.
SQL
1
2
WHERE rej.Режисер="Балаян"
GROUP BY rej.Режисер, roll.Актер
1
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 17
29.05.2019, 04:00  [ТС]
Проценты не вычисляет, что я написал неправильно? И еще если написать условие WHERE Проценты>50 то не работает.
SQL
1
2
3
SELECT roll.Актер, COUNT(roll.[Тип роли]) AS [Всего ролей], COUNT(IIf(rol.[Тип роли]="Кушать поданно",1,NULL)) AS [Кол-во ролей], "%"=([Кол-во ролей]/[Всего ролей])*100 AS Проценты
FROM rol INNER JOIN roll ON rol.Код = roll.[Тип роли]
GROUP BY roll.Актер
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
29.05.2019, 05:05
Лучший ответ Сообщение было отмечено RaDEnAlpha как решение

Решение

Пробуйте. Завернуто в еще один селект, чтобы можно было воспользоваться вычисляемым полем Проценты в условии отбора
SQL
1
2
3
4
5
6
7
8
SELECT * FROM
  (SELECT roll.Актер, 
   COUNT(roll.[Тип роли]) AS [Всего ролей], 
   COUNT(IIf(rol.[Тип роли]="Кушать поданно",1,NULL)) AS [Кол-во ролей], 
   ([Кол-во ролей]/[Всего ролей])*100 AS Проценты
   FROM rol INNER JOIN roll ON rol.Код = roll.[Тип роли]
   GROUP BY roll.Актер) z
WHERE Проценты>50
1
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 17
29.05.2019, 05:13  [ТС]
mobile, замечательно работает, спасибо за вашу помощь)
0
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 17
29.05.2019, 23:20  [ТС]
Если кому-то понадобится.
Запрос на список пьес, в которых исполнители главных ролей менялись более 3 раз.
SQL
1
2
3
4
5
SELECT piessa.Пьеса, rol.[Тип роли], COUNT(roll.[Тип роли]) AS [Кол-во актеров]
FROM piessa INNER JOIN (rol INNER JOIN roll ON rol.Код = roll.[Тип роли]) ON piessa.Код = roll.Пьеса
WHERE (((rol.[Тип роли])="Главная"))
GROUP BY piessa.Пьеса, rol.[Тип роли]
HAVING (((COUNT(roll.[Тип роли]))>3));
Запрос на список актеров, которые находятся в «творческом простое» с начала 2016 г.
SQL
1
2
3
4
SELECT akter.ФИО AS Актер, LAST(roll.[Дата снятия с роли]) AS [Последняя роль]
FROM piessa INNER JOIN (akter INNER JOIN (rol INNER JOIN roll ON rol.Код = roll.[Тип роли]) ON akter.Код = roll.Актер) ON piessa.Код = roll.Пьеса
GROUP BY akter.ФИО
HAVING (((LAST(roll.[Дата снятия с роли]))<#1/1/2016#));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2019, 23:20
Помогаю со студенческими работами здесь

Запросы на выборку из таблицы
Как в условии отбора ( когда делаешь запрос) сделать так чтобы из нескольких цифр которые заданы он отбирал только первую. Допустим есть...

Простые запросы на выборку
Как в условии отбора ( когда делаешь запрос) сделать так чтобы из нескольких цифр которые заданы он отбирал только первую. Допустим есть...

Запросы на выборку по дате
Всем привет ! Попалась на курсовую база данных по больнице , я сама не особо что да как понимаю , но наклепала своего и мои запросы по...

MS ACCESS SQL запросы на выборку данных
народ помогите с SQL ...у нас препода толкового не было...и SQL для нашей группы что то страшное...в инете малёха поискал ничего толкового...

Запросы на выборку с использованием связанных подзапросов
Создать 2 запроса на выборку с использованием связанных подзапросов, в одном из которых будет использоваться параметр. БД:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru