Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
nostalgie
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 2
1

Запрос на студентов имеющих весь набор оценок

01.04.2014, 20:33. Просмотров 1047. Ответов 4
Метки нет (Все метки)

Постановка задачи:
Написать SQL запрос,выполняющий вывод данных об именах и фамилия студентов, имеющих весь набор оценок (3,4,5).
Для решения опишу структуру двух таблиц, необходимых в данном запросе.
SQL
1
2
STUDENT {STUDENT_ID, NAME_, SURNAME, ... }
EXAM_MARKS {STUDENT_ID, MARK, EXAM_DATE, SUBJ_ID} SUBJ_ID
SUBJ_ID -внешний ключ на таблицу предметов
У каждого студента может быть несколько экзаменов и соответственно оценок или не быть вообще
(MARK мб NULL)
Кто подскажет решение?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 20:33
Ответы с готовыми решениями:

Вводя в цикле по 5 оценок каждого студента, подсчитать число студентов, не имеющих оценок 2 и 3
Помогите пожалуйста запутался) Вводя в цикле по 5 оценок каждого студента, подсчитать число...

Подсчитать число студентов, не имеющих оценок 2 и 3
вводя в цикле по 5 оценок каждого студента, подсчитывается число студентов, не имеющих оценок 2 и...

Подсчитать число студентов, не имеющих оценок 2 и 3
Напишите Паскаль-программу, где вводя в цикле по 5 оценок каждого студента, подсчитывается число...

Подсчитать число студентов, не имеющих оценок 2 и 3
вводя в цикле по 5 оценок каждого студента, подсчитывается число студентов, не имеющих оценок 2 и...

Распечатать список студентов в порядке возрастания не имеющих удовлетворительных оценок
Распечатать список студентов в порядке возрастания не имеющих удовлетворительных оценок

4
ltv_1953
Эксперт MS Access
14525 / 6311 / 1313
Регистрация: 21.06.2012
Сообщений: 11,523
01.04.2014, 21:14 2
Один из вариантов
SQL
1
2
3
4
SELECT STUDENT.STUDENT_ID, STUDENT.NAME, STUDENT.SURNAME 
FROM STUDENT INNER JOIN (SELECT DISTINCT STUDENT_ID, MARK FROM EXAM_MARKS) AS QQ ON STUDENT.STUDENT_ID = QQ.STUDENT_ID
GROUP BY STUDENT.STUDENT_ID, STUDENT.NAME, STUDENT.SURNAME
HAVING SUM(MARK)=12;
0
minob
3538 / 1112 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
01.04.2014, 21:27 3
Лучший ответ Сообщение было отмечено nostalgie как решение

Решение

Еще вариант
SQL
1
2
3
4
SELECT STUDENT.NAME_, STUDENT.SURNAME
FROM STUDENT INNER JOIN EXAM_MARKS ON STUDENT.STUDENT_ID=EXAM_MARKS.STUDENT_ID
GROUP BY STUDENT.NAME_, STUDENT.SURNAME
HAVING SUM(EXAM_MARKS.MARK=3)<0 AND SUM(EXAM_MARKS.MARK=4)<0  AND SUM(EXAM_MARKS.MARK=5)<0
1
nostalgie
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 2
01.04.2014, 22:31  [ТС] 4
ltv_1953, спасибо, но здесь не учитывается то, что у студента может быть несколько оценок 3, 4 и т.д.

Добавлено через 12 минут
minob, Спасибо, сработало!!
0
ltv_1953
Эксперт MS Access
14525 / 6311 / 1313
Регистрация: 21.06.2012
Сообщений: 11,523
01.04.2014, 23:27 5
Цитата Сообщение от nostalgie Посмотреть сообщение
ltv_1953, спасибо, но здесь не учитывается то, что у студента может быть несколько оценок 3, 4 и т.д.
По всей видимости, Вы не заметили подчиненный запрос SELECT DISTINCT ..., который выбирает уникальные оценки ... .
1
01.04.2014, 23:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2014, 23:27

Исходя из массива оценок по предметам найти студентов, имеющих право на получение стипендии
Есть задача - Написать программу, используя массив. Описание задачи: Имеем оценки m студентов по n...

Подсчитайте количество студентов, имеющих хорошие и отличные оценки за весь период обучения
Создайте файл Студент. Подсчитайте количество студентов, имеющих хорошие и отличные оценки за весь...

Запрос: Найти всех учеников, получивших 4 по физике и одновременно не имеющих оценок ниже 3.
Найти всех учеников, получивших 4 по физике и одновременно не имеющих оценок ниже 3. Должны быть...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.