![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]()
Есть таблица СдалЭкзамен(Студент, Дисциплина, Оценка). Нужно из нее выбрать студентов, у которых за все сданные ими экзамены 5 (естессна, повторяться студенты не должны). Подскажите, как это попроще сделать на языке SQL, я полный ламер в синтаксисе.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Abrakadabra, +1
а можно ещё проще ;-) SELECT СдалЭкзамен.Студент FROM СдалЭкзамен GROUP BY СдалЭкзамен.Студент HAVING (AVG([Оценка])=5); |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
Вам +100, естественно. В первую очередь 1 AVG по-любому лучше Sum+Count+/.
Однако для наглядности было выбрано именно это, с учетом самокритичного мнения автора топика. Последний раз редактировалось Abrakadabra; 23.11.2008 в 16:52. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]()
Ага, спасибо. Проблема была в том, что не знала о конструкции GROUP BY ... HAVING ...
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
odi_noki, не за что. :-)
Хотелось бы только предупредить о одном нюансе. Обратите внимание, что данный приём решает только конкретно Вашу проблему. Если, вдруг, решите подобным способом искать студентов, у которых все оценки = 4 или 3 - то данный способ не подойдёт (средняя может быть равна 4 при наличии 5 и 3, например...)... Тогда запрос прийдётся по другому делать! А язык SQL рекомендую поучить - 100% в программерской жизни пригодится ;-) |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]() Цитата:
![]() Но раз уж подняли эту тему, то предложите вариант, как сделать запрос на тех студентов, у которых все 4. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
я бы копнул в сторону IN Напишу приблизительно, на SQL нужного диалекта переложите сами (сейчас некогда протестировать в ACCESS, но, думаю. что проблем не должно быть...): Код:
|
|
![]() |
![]() |
![]() |
#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 |