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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2009, 16:19   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию Access. запрос который будет выводить самого старшего студента из разных курсов

Мне нужно создать запрос который будет выводить самого старшего студента из разных курсов (всего их три) у меня есть формула DMin("[birthday]";"Students") но она выводит только самого старшего студента а мне нужно чтобы вывело самого старшего студента с 1 курса 2 и 3. Как это можно осуществить ??

PS Извините что-повторяюсь. Но может кто-то реально поможет??
Вложения
Тип файла: rar lab_raboty_6.rar (48.9 Кб, 18 просмотров)
Alex1991 вне форума Ответить с цитированием
Старый 22.02.2009, 21:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот Вы всё таки путаник...
ну как можно получить самого старшего студента с 1-го, и самого старшего студента со 3-го курса, когда в Вашем примере присутствую студенты ТОЛЬКО ВТОРОГО курса (группы 1-я, 2-я и 3-я, все принадлежат 2-му курсу.)

вот запрос, который решает проблему "В ЛОБ" (просто объединяя результаты трёх запросов). Решение через группировку по курсу писать лениво... ;-)

Код:
SELECT Students.surname, Students.name, Faculties.name_fak, Kurs.kurs, Students.birthday
  FROM Faculties, Kurs, Groups, Students 
  WHERE  Faculties.name_fak =  KURS.name_fak
       and  Kurs.kod_k = Groups.kod_k
       and  Groups.kod_gr = Students.kod_gr
       and Kurs.kurs = 1
       and  Students.birthday IN ( 
  SELECT MIN(Students.birthday)
  FROM Faculties F, KURS K, Groups GR, Students 
  WHERE F.name_fak = K.name_fak
  and K.kod_k = Gr.kod_k
  and  Gr.kod_gr = Students.kod_gr
  and  k.kurs = 1
)
UNION
SELECT Students.surname, Students.name, Faculties.name_fak, Kurs.kurs, Students.birthday
  FROM Faculties, Kurs, Groups, Students 
  WHERE  Faculties.name_fak =  KURS.name_fak
       and  Kurs.kod_k = Groups.kod_k
       and  Groups.kod_gr = Students.kod_gr
       and Kurs.kurs = 2
       and  Students.birthday IN ( 
  SELECT MIN(Students.birthday)
  FROM Faculties F, KURS K, Groups GR, Students 
  WHERE F.name_fak = K.name_fak
  and K.kod_k = Gr.kod_k
  and  Gr.kod_gr = Students.kod_gr
  and  k.kurs = 2
)
UNION
SELECT Students.surname, Students.name, Faculties.name_fak, Kurs.kurs, Students.birthday
  FROM Faculties, Kurs, Groups, Students 
  WHERE  Faculties.name_fak =  KURS.name_fak
       and  Kurs.kod_k = Groups.kod_k
       and  Groups.kod_gr = Students.kod_gr
       and Kurs.kurs = 3
       and  Students.birthday IN ( 
  SELECT MIN(Students.birthday)
  FROM Faculties F, KURS K, Groups GR, Students 
  WHERE F.name_fak = K.name_fak
  and K.kod_k = Gr.kod_k
  and  Gr.kod_gr = Students.kod_gr
  and  k.kurs = 3
)
ORDER BY Kurs.kurs, Students.birthday;
И ещё.
есть замечание по структуре БД:
в таблице Студентов нет ключевого поля.

Таблица Kurs связана с таблицей Faculties (Факультет)
по наименованию факультета
(поле Name_fak - и это поле сделано ключевым :-().
Это неверно. Почему - объяснять не буду - читайте книжки.
Должно быть связано по коду. Тем более,
что в таблице факультет есть код (поле kod_fak)

и, напоследок, не знаю, как остальные запросы, но, например, ткнулся, а
запрос "Студенти по алфавiту +" - с грубой ошибкой!
(или просто недописан!)

удачи.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.02.2009, 22:40   #3
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Спасибо !! Огромное
Alex1991 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access. запрос который будет выводить самого старшего студента из разных курсов Alex1991 Помощь студентам 3 21.02.2009 14:04
Ищу студента-программиста,который поможет создать программу за опр.плату Настя007 Фриланс 5 08.01.2009 09:16
запрос который бы подсчитывал количество полных лет начиная с того года который указан в данных мне базах PereCCC Помощь студентам 8 15.05.2008 16:24
скрипт который будет сам формировать запрос в Яндекс Antivoin HTML и CSS 1 18.08.2007 19:23