1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Triplet |
13.12.2008 21:54
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 78 Пол: Женский Репутация: 0 |
Здравствуйте.
Помогите, пожалуйста, написать вложенный запрос на sql. Есть таблица Student с полем ФИО,ID, есть таблица Оценки, т.е. по определённому заданию своя оценка (в процентах) и есть таблица Посещаемость. На отчисление выводятся те, у кого средний балл меньше 40% и посещаемость <30%. Я sql начала изучать совсем недавно, могу написать только тривиальный select, так что извиняюсь, если вопрос дурацкий Заранее спасибо! |
![]() ![]() |
| volvo |
14.12.2008 11:56
Сообщение
#2
|
|
Гость |
Если у тебя в таблице Оценки хранится несколько оценок для каждого студента по разным предметам, и надо из них для этого студента вычислить среднюю, а в таблице Посещаемость ничего подсчитывать не надо (там уже готовые к обработке данные) - то вот это работает для MS Access SQL:
SQL SELECT Student.FIO, P.percent, Avg(Grades.Grade) AS AverageGrade (P - таблица посещаемости, данные хранятся поле percent; Grades - таблица оценок, в поле Student - ID студента, в поле Grade - оценка по какому-то предмету, в поле Subj - хотя это неважно - название предмета)FROM (Student INNER JOIN P ON Student.ID = P.Student) INNER JOIN Grades ON Student.ID = Grades.Student GROUP BY Student.FIO, P.percent HAVING (((P.percent)<30) AND ((Avg(Grades.Grade))<"40")); Если надо делать какие-то подсчеты и в Посещаемости - уточняй структуру этой таблицы... |
Triplet Вывод кандидатов на отчисление 13.12.2008 21:54
Triplet Спасибо большое!
Только запрос не выводит оцен... 14.12.2008 16:41
volvo Так запрос вообще не выводит никакие оценки, это в... 14.12.2008 16:48
Triplet В смысле запрос не учитывает тех, у кого оценки=nu... 14.12.2008 16:50
volvo А, я кажется понял... Ты имела в виду выводить ИЛИ... 14.12.2008 17:05
Triplet Нет:), я имела ввиду, что даже если оставить одно... 14.12.2008 17:25
volvo Ясно, тебе просто нужно ,чтобы Null-значения счита... 14.12.2008 18:41
Triplet Спасибо большое!
А в MS SQL 2008 есть аналогич... 14.12.2008 19:30
volvo Нет, не через If/Else, насколько я помню, через CA... 14.12.2008 23:10
Triplet volvo , ещё раз огромное спасибо!!! 15.12.2008 8:16![]() ![]() |
|
Текстовая версия | 9.12.2025 16:32 |