Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

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

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

Спасибо, все работает как надо!
Degster вне форума Ответить с цитированием
Старый 16.06.2013, 11: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 в 09:06.
Degster вне форума Ответить с цитированием
Старый 17.06.2013, 15:57   #7
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц



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