|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.11.2008, 09:40 | #1 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
простенький запрос
Есть таблица СдалЭкзамен(Студент, Дисциплина, Оценка). Нужно из нее выбрать студентов, у которых за все сданные ими экзамены 5 (естессна, повторяться студенты не должны). Подскажите, как это попроще сделать на языке SQL, я полный ламер в синтаксисе.
|
22.11.2008, 21:46 | #2 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
|
23.11.2008, 11:48 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Abrakadabra, +1
а можно ещё проще ;-) SELECT СдалЭкзамен.Студент FROM СдалЭкзамен GROUP BY СдалЭкзамен.Студент HAVING (AVG([Оценка])=5); |
23.11.2008, 16:46 | #4 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
Вам +100, естественно. В первую очередь 1 AVG по-любому лучше Sum+Count+/.
Однако для наглядности было выбрано именно это, с учетом самокритичного мнения автора топика. Последний раз редактировалось Abrakadabra; 23.11.2008 в 16:52. |
23.11.2008, 20:53 | #5 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
Ага, спасибо. Проблема была в том, что не знала о конструкции GROUP BY ... HAVING ... Теперь понятно.
|
23.11.2008, 23:37 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
odi_noki, не за что. :-)
Хотелось бы только предупредить о одном нюансе. Обратите внимание, что данный приём решает только конкретно Вашу проблему. Если, вдруг, решите подобным способом искать студентов, у которых все оценки = 4 или 3 - то данный способ не подойдёт (средняя может быть равна 4 при наличии 5 и 3, например...)... Тогда запрос прийдётся по другому делать! А язык SQL рекомендую поучить - 100% в программерской жизни пригодится ;-) |
24.11.2008, 08:33 | #7 | |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
Цитата:
Но раз уж подняли эту тему, то предложите вариант, как сделать запрос на тех студентов, у которых все 4. |
|
24.11.2008, 09:03 | #8 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
|
26.11.2008, 13:38 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
я бы копнул в сторону IN Напишу приблизительно, на SQL нужного диалекта переложите сами (сейчас некогда протестировать в ACCESS, но, думаю. что проблем не должно быть...): Код:
|
|
28.11.2008, 20:37 | #10 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
Serge_Bliznykov,
принимается. И мной, и аксессом. Спасибо. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Простенький редактор сбоев оборудования | smoky | Microsoft Office Access | 6 | 06.09.2008 13:32 |
Помогите написать простенький скрипт | Сева Белуччи | PHP | 1 | 29.05.2008 17:31 |
Сделал простенький блокнотик | Reaction-s | Софт | 17 | 28.04.2008 22:34 |
нужен простенький скриптик, для спецов 5 мин. работы | AndreyD | Фриланс | 2 | 21.12.2007 22:13 |