Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2013, 16:33   #1
Degster
Пользователь
 
Регистрация: 30.04.2011
Сообщений: 17
По умолчанию запрос

помогите создать запрос который выводил бы список студентов, тех у кого хотя бы одна "3" (допустим: "Зачет,4,3", "Зачет,3,5" и т.д)
свой вариант запроса в БД,но там выходят и те у кого хотя бы 1 долг.
долг-это пробел в таблице "оценки"
Вложения
Тип файла: rar ctccbz.rar (58.9 Кб, 11 просмотров)

Последний раз редактировалось Degster; 14.06.2013 в 16:37.
Degster вне форума Ответить с цитированием
Старый 14.06.2013, 17:10   #2
Myhaylo
Форумчанин
 
Регистрация: 18.07.2012
Сообщений: 520
По умолчанию

Например, так:

SELECT Сессия.КодС, Студенты.ФИО
FROM Студенты INNER JOIN Сессия ON Студенты.Код = Сессия.КодС
WHERE (((Сессия.КодО)=3))
GROUP BY Сессия.КодС, Студенты.ФИО;
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 14.06.2013, 17:36   #3
Degster
Пользователь
 
Регистрация: 30.04.2011
Сообщений: 17
По умолчанию

такой вариант подходит.
а что если например, поставить кому нибудь из студентов все "3" ,то он не должен попасть в список с одной "3",но он туда попадает.как быть в этой ситуации?
Degster вне форума Ответить с цитированием
Старый 14.06.2013, 17:51   #4
Myhaylo
Форумчанин
 
Регистрация: 18.07.2012
Сообщений: 520
По умолчанию

SELECT Сессия.КодС, Студенты.ФИО
FROM Студенты INNER JOIN Сессия ON Студенты.Код = Сессия.КодС
GROUP BY Сессия.КодС, Студенты.ФИО
HAVING (((-Sum([Сессия].[КодО]=3))=1));

Здесь:
1 - это кол-во искомых оценок (если заменить на 2, то выберут только тех, кто получил 2 тройки);
3 - это искомая оценка.
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 14.06.2013, 18:18   #5
Degster
Пользователь
 
Регистрация: 30.04.2011
Сообщений: 17
По умолчанию

Спасибо, все работает как надо!
Degster вне форума Ответить с цитированием
Старый 16.06.2013, 10:45   #6
Degster
Пользователь
 
Регистрация: 30.04.2011
Сообщений: 17
По умолчанию

можно ли сделать на примере этого запроса, чтобы он искал тех студентов, у кого хотя бы одна "3" (допустим: "Зачет,4,3", "Зачет,3,5" и т.д)

SELECT [сессия ЭБУ301].КодС, [ЭБУ-301 список].ФИО
FROM [ЭБУ-301 список] LEFT JOIN [сессия ЭБУ301] ON [ЭБУ-301 список].Код = [сессия ЭБУ301].КодС
GROUP BY [сессия ЭБУ301].КодС, [ЭБУ-301 список].ФИО
HAVING (((-Sum([КодО] In (1,2,4)))=(SELECT COUNT(*) FROM [предметы ЭБУ301(5)])));

Последний раз редактировалось Degster; 17.06.2013 в 08:06.
Degster вне форума Ответить с цитированием
Старый 17.06.2013, 14:57   #7
Myhaylo
Форумчанин
 
Регистрация: 18.07.2012
Сообщений: 520
По умолчанию

См. 14.06.2013, 17:10
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос ... and ... shefus SQL, базы данных 9 13.03.2013 13:49
Запрос на выборку и отчет на этот запрос Camelot_2012 Microsoft Office Access 2 21.12.2011 15:48
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 20:09
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 11:50

Реклама для незарегистрированных, регистрация на форуме