C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: нужна помощь в составлении sql запроса  (Прочитано 6393 раз)
2puk
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 4


нужна помощь в составлении sql запроса
« : 10 Июнь 2009, 11:12:57 »

База данных "Колледж" состоит из отношений. Отношение "students"(студенты) состоит из полей: student_id, surname - фамилия, name - имя студента, kurs - курс, sity - город проживания и stipend - стипендия. Отношение "exam_marks" (экзаменнационные оценки) содержит: exam_id, student_id. subj_id, mark - оценка, exam_data - дата экзамена. Отношение "subject"(дисциплины) состоит из subj_id, subj_name - название дисциплины, hour - часы, отводимые на изучение дисциплины, semestr - семестр, в котором изучается данная дисциплина. Отношение "lecturers" (преподаватели) содержит: lecturer_id? surname_lec - фамилия, name_lec - имя, second_name_lec - отчество преподавателя. Отношение subj_lect состоит из полей: lecturer_id, subj_id.создать приложение для ввода, изменения и удаления данных в указанных отношениях, а также обеспечить выполнение следующих запросов:
1. вывести название дисциплин, в которых отсутствуют названия оценок, т.е. студенты не аттестованы
2. вывести для каждого студента выпускного курса егго фамилию и средний балл (выводимые данные отсортировать по среднему баллу)
3. вывести первого в алфавитном порядке списка студентов, фамилия которого начинается на букву "И"

приложение почти созданно надо написать 3 запроса... помагитЕЕЕЕ
приложение создано в C++builder 6, базы данных в paradox7
« Последнее редактирование: 10 Июнь 2009, 11:52:25 от 2puk » Записан
AVC
Администратор


Сказали спасибо: +28/-6
Offline

Сообщений: 1189


Re: нужна помощь в составлении sql запроса
« Ответ #1 : 10 Июнь 2009, 12:51:43 »

"На коленях". Для рабочих запросов надо знать СУБД

Код:
3. вывести первого в алфавитном порядке списка студентов, фамилия которого начинается на букву "И"

Selec top 1 * From students Where Upper(surname) like ('И%') Order by surname


1. вывести название дисциплин, в которых отсутствуют ??_названия_?? оценок,
   т.е. студенты не аттестованы

Select sj.*
From subject sj
Where not exists (Select * From exam_marks em Where em.subj_id = sj.subj_id)


2. вывести для каждого студента выпускного курса его фамилию и средний балл
   (выводимые данные отсортировать по среднему баллу)

Select
  s.student_id
 ,s.surname
 ,Avg(em.mark) as aball
From
  students   s
 ,exam_marks em
Where 1 = 1
  and em.student_id =  s.student_id
  and s.kurs = последний курс
Group by s.student_id, s.surname
Order by aball
PS. Вариантов написания несколько, это только один из возможных
Записан
2puk
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 4


Re: нужна помощь в составлении sql запроса
« Ответ #2 : 10 Июнь 2009, 12:57:14 »

я в этих запросах особо не разбираюсь можешь подробнее написать что каждая строчка выполняет...
Записан
funtik1
Участник


Сказали спасибо: +13/-1
Offline

Сообщений: 343


Re: нужна помощь в составлении sql запроса
« Ответ #3 : 10 Июнь 2009, 13:21:26 »

короч что бы лучше понять че написал AVC над SQL посчитать, в Архангельском там есть чуток, как раз жля этого че написано хватит;)
Записан
AVC
Администратор


Сказали спасибо: +28/-6
Offline

Сообщений: 1189


Re: нужна помощь в составлении sql запроса
« Ответ #4 : 10 Июнь 2009, 13:23:14 »

Сорри. Можно забыть про эти запросы.
Как то сразу не увидел "базы данных в paradox7".
Там только ручками отбирать
Записан
2puk
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 4


Re: нужна помощь в составлении sql запроса
« Ответ #5 : 10 Июнь 2009, 13:30:57 »

в Архангельском
там же вроде 2 книги... в какой именно? и если ест нормальные ссылки на книги
Записан
2puk
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 4


Re: нужна помощь в составлении sql запроса
« Ответ #6 : 10 Июнь 2009, 13:36:05 »

а что в paradox7 как то по другому надо делать запросы? подключение через BDE
Записан
AVC
Администратор


Сказали спасибо: +28/-6
Offline

Сообщений: 1189


Re: нужна помощь в составлении sql запроса
« Ответ #7 : 10 Июнь 2009, 15:20:36 »

Не знаю на счет 7-го, но парадокс это фаловая БД. Роль анализатора и исполнителя запросов берет на себя прослойка - BDE. А ей  до полномасштабного SQL сервера ой как далеко и такие запросы, я полагаю, ей будут "не по зубам".
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.107 секунд. Запросов: 22.