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

Запрос с подзапросом

09.11.2014, 16:10. Показов 825. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Вывести на экран записи, содержащие следующие поля: Код дисциплины, Название дисциплины, Количество студентов, которые сдали эту дисциплину.

Решил так:
SQL
1
2
3
SELECT [Предметы (дисциплины)].[Код дисциплины], [Предметы (дисциплины)].[Название дисциплины], COUNT([Успеваемость студентов].Оценка) AS [Count-Оценка]
FROM [Предметы (дисциплины)] INNER JOIN [Успеваемость студентов] ON [Предметы (дисциплины)].[Код дисциплины] = [Успеваемость студентов].[Код дисциплины]
GROUP BY [Предметы (дисциплины)].[Код дисциплины], [Предметы (дисциплины)].[Название дисциплины];
Позже выяснилось, что в успеваемости студентов могут быть "0", если он сдавал зачет, но не сдал и "2" если сдавал экзамен, но не сдал. Мне кажется, что эту задачу надо решать с подзапросом, но как не знаю.
Помогите пожалуйста с решением. Таблицы и задание прикрепил в фотках (условие задачи - задание №13).
Миниатюры
Запрос с подзапросом   Запрос с подзапросом  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2014, 16:10
Ответы с готовыми решениями:

Запрос с подзапросом
Всем привет. пишу курсовую по БД и столкнулся с проблемой: нужно объединить 2 запроса в 1. В Access все хорошо получается, но...

запрос с подзапросом
Товарищи, помогите плз создать такой запрос, чтобы "Определить тип, товаров которого куплено больше всего" файлик прилагаю

Запрос с подзапросом
Прошу помочь с написанием запроса с подзапросом. Из моей базы данных нужно сделать запрос с подзапросом на языке SQL. Любой. Помогите...

5
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.11.2014, 16:21
Цитата Сообщение от pwilua Посмотреть сообщение
Количество студентов, которые сдали эту дисциплину.
Добавьте после группировки условие для фильтра
SQL
1
HAVING MIN([Успеваемость студентов].Оценка))>2
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 28
09.11.2014, 21:20  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Добавьте после группировки условие для фильтра
SQL
1
HAVING MIN([Успеваемость студентов].Оценка))>2
Это подойдет только если учитывать экзамены (оценка для сдачи больше 2), а для зачета две позиции: 0 - не сдал зачет и 1 - сдал зачет, поэтому у меня и возникли проблемы решением данной задачи...
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.11.2014, 21:35
Цитата Сообщение от pwilua Посмотреть сообщение
Это подойдет только если учитывать экзамены (оценка для сдачи больше 2), а для зачета две позиции: 0 - не сдал зачет и 1 - сдал зачет
Тогда так попробуем
SQL
1
2
3
4
5
SELECT [Предметы (дисциплины)].[Код дисциплины], [Предметы (дисциплины)].[Название дисциплины], 
  -nz(SUM([Успеваемость студентов].Оценка>2),0) - nz(SUM([Успеваемость студентов].Оценка=1),0) AS [Count-Оценка]
FROM [Предметы (дисциплины)] INNER JOIN [Успеваемость студентов] 
  ON [Предметы (дисциплины)].[Код дисциплины] = [Успеваемость студентов].[Код дисциплины]
GROUP BY [Предметы (дисциплины)].[Код дисциплины], [Предметы (дисциплины)].[Название дисциплины]
0
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 28
09.11.2014, 22:04  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Тогда так попробуем
SQL
1
2
3
4
5
SELECT [Предметы (дисциплины)].[Код дисциплины], [Предметы (дисциплины)].[Название дисциплины], 
  -nz(SUM([Успеваемость студентов].Оценка>2),0) - nz(SUM([Успеваемость студентов].Оценка=1),0) AS [Count-Оценка]
FROM [Предметы (дисциплины)] INNER JOIN [Успеваемость студентов] 
  ON [Предметы (дисциплины)].[Код дисциплины] = [Успеваемость студентов].[Код дисциплины]
GROUP BY [Предметы (дисциплины)].[Код дисциплины], [Предметы (дисциплины)].[Название дисциплины]
Спасибо, вариант рабочий.
Есть проблемка, -nz мы не проходили, так что я не думаю, что препод примет данное решение.
Есть ли возможность решить это задание используя подзапрос?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.11.2014, 22:35
Цитата Сообщение от pwilua Посмотреть сообщение
Есть проблемка, -nz мы не проходили
Можно и без NZ. Только минусы оставьте поскольку суммируются результаты логических выражений. А они могут быть только 0, если False, или -1, если True. Сумма нулей 0, а сумма минус единиц отрицательная величина. Ставим перед ней минус - получаем положительную.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.11.2014, 22:35
Помогаю со студенческими работами здесь

Запрос с подзапросом
SELECT Студенты., Студенты., Студенты., Avg(.Оценка) AS FROM Студенты INNER JOIN ON Студенты. = . WHERE = ( SELECT MAX() AS FROM...

Запрос на обновление с подзапросом
Здравствуйте. Есть такая задача, нужно в поле Размер таблицы Стипендия для каждой девушки записать средний балл девушек по английскому...

Запрос на удаление с подзапросом
у такое соединение как на рисунке: мне нужно удалить строки полностью из А_Объявления, где есть дублирующиеся значения по трем строкам...

Средняя зарплата сотрудников (запрос с подзапросом)
Вывести среднюю зарплату сотрудников (avg)

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru