powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Базы данных Access: Сформировать запрос
25 сообщений из 25, страница 1 из 1
Базы данных Access: Сформировать запрос
    #39787428
Samyrro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некая база данных студентов в Access 2016. Необходимо сформировать запрос на выборку, который отобразит всех студентов, у которых нет ни одной оценки "2". Если есть хотя бы одна двойка - студента в результатах запроса в принципе не должно быть. Как это сделать? Помогите!!!
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39787434
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
SELECT список полей
FROM таблица
WHERE студент NOT IN (SELECT студент
                      FROM таблица 
                      WHERE оценка = 2)
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39787483
Samyrro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, то что надо!!!
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820051
Медет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Не могу решить одну простую задачу! Возможно с Вашей помощью решу!
В условии запроса использовано поле формы. В русской системе виндоус и в русском оффисе работает и проблем нет, но в ангийском виндоус и английском оффисе возникает проблема - всплывает окно с требованием введение параметра и при этом наименование ошибки начинается с Формы!...., хотя в условии запроса синтаксис заложен через Forms!...
Не пойму в чем ошибка и как от нее избавиться
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820134
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Медет, использовать не локализованную версию или делать функции которые будут возвращать значения контролов.
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820135
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ не использовать пробелов в наименованиях.
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820136
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Код: sql
1.
2.
3.
4.
5.
SELECT список полей
FROM таблица
WHERE студент NOT IN (SELECT студент
                      FROM таблица 
                      WHERE оценка = 2)


Ну так получим все оценки не равные 2
А сгруппировать?

Код: sql
1.
2.
3.
4.
SELECT список полей
FROM таблица
GROUP BY студент
HAVING MIN(ОЦЕНКА)<> 2
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820137
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Медет, а почему ты пишешь в чужие топики?
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820138
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это если у него одна таблица, где и фио и оценки.
Но скорее всего таблиц две.

Код: sql
1.
2.
3.
4.
5.
SELECT список полей
FROM таблицастудентов
WHERE студент NOT IN (SELECT студент
                      FROM таблицаоценок 
                      WHERE оценка = 2)



Код: sql
1.
2.
3.
4.
5.
SELECT список полей
FROM таблицастудентов, таблица оценок
WHERE таблицастудентов.студент = таблицаоценок.студент
GROUP BY студент
HAVING MIN(ОЦЕНКА)<> 2
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820141
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183, на дату стартового поста посмотри

уже всё перетёрли
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820145
Медет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургМедет, а почему ты пишешь в чужие топики?

Не хотел плодить подобных тем.
Я тут новенький! Необходимо создавать свои темы?
Локализованная версия - это значит английская установка?
За подсказку спасибо!
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820146
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МедетНе хотел плодить подобных тем.В каком месте он подобный?
МедетЯ тут новенький! Необходимо создавать свои темы? Правила прочитай и ознакомься с рекомендациями подфорума
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820152
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург982183, на дату стартового поста посмотри
уже всё перетёрли
Согласен.
Но тут чистая теория.
Сейчас придет Akina и констатирует какой я балбес.
тут есть два подхода к стандартной ситуации.
Осталось понять боле рациональный
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820160
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT список полей
FROM таблицастудентов
WHERE студент IN (SELECT студент
                  FROM таблицаоценок 
                  group by студент
                  having min(оценка) <>2)
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820162
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант3
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820163
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183, а что тут теоретического? В первом случае ( 21897360 ) запрос обновляемый, во втором нет. Нужна скорость? Джойн будет быстрее при прочих равных, с подчинённым запросом самый медленный. Запрос с группировкой, ИМХО, вообще за гранью...
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820165
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Вариант3см предыдущий ответ
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820178
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183так получим все оценки не равные 2Здрасьте, приехали... посмотри внимательнее.
982183А сгруппировать?

Код: sql
1.
2.
3.
4.
SELECT список полей
FROM таблица
GROUP BY студент
HAVING MIN(ОЦЕНКА)<> 2

Ага. В Аксессе. Неполная группировка. Щазз!
К тому же, допускай Акс такое, если у студента есть единица - он будет выведен вне зависимости от наличия двойки.
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820283
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или такое выражение: sum(iif(оценка=2;1;0)) и отбор по этому полю=0-студенты у которых нет двоек
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820293
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820302
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЗдрасьте, приехали... посмотри внимательнее.
далее я подкорректировал оба варианта
21897360

двойка/единица тут вопрос не принципиальный вместо <> ставим >

(Всю жизнь работал с инструментом, где нет "IN" каждый раз как вижу - принять не могу)

sdku - HAVING всё равно делать надо.
а зачем выносить поле для фильтрации в select?

WHERE / JOIN тут не принцииально
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820318
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183sdku - HAVING всё равно делать надо.
Код: vbnet
1.
2.
3.
SELECT учащиеся.учащийся, Sum(IIf([оценка]=2,1,0)) AS скДвоек
FROM учащиеся INNER JOIN (предметы INNER JOIN успеваемость ON предметы.КодП = успеваемость.предмет) ON учащиеся.КодУ = успеваемость.учащийся
GROUP BY учащиеся.учащийся;

Стесняюсь спросить:а хде здесь HAVING?
и чем Вас не устраивает группировка?
982183а зачем выносить поле для фильтрации в select?а куда? (ведь это выражение,а не условие отбора)
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820410
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Всю жизнь работал с инструментом, где нет "IN" каждый раз как вижу - принять не могуИспользуй =Any
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820412
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Код: sql
1.
-Sum([оценка]=2) AS скДвоек 

и так хватит
...
Рейтинг: 0 / 0
Базы данных Access: Сформировать запрос
    #39820446
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург....и так хватитВполне
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Базы данных Access: Сформировать запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]