Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисление среднего балла [D7]


Снежинка ©   (2008-04-13 19:01:00) 

Привет всем!
У меня такая проблема, нужно вычислить средний балл по группам. Но когда я пишу код вот такой
begin
with Query1 Do
begin
Close;
SQL.Clear;
SQL.Add('Select avg(ocenka), gruppa');
SQL.Add ('From Student,Ocenki,Gruppa');
SQL.Add('Where  Ocenki.idstud=Student.idstud  and Gruppai.idgrup=Student.idgrup ');
Open;
if Query1.RecordCount<>0 then
begin
DataSource1.DataSet:=Query1 ;

end ;
end;
end;
Вычисляется общий средний балл(на все группы) . Есть таблицы студенты(idstud, fam, ima,idgrup),группа(idgrup,gpuppa),оценки(idstud, semestr, ocenka). Между ними есть связь. Не знаю как правильно сделать Помогите мне пожалуйста.Заранее спасибо


sniknik   (2008-04-13 22:07:00) [1]

спам


Павел Калугин   (2008-04-13 21:28:00) [2]

> [1] Jack128_   (13.04.08 21:26)

только вот макс лишний :)

select avg(o.ocenka), g.idgrup, g.gruppa
from ocenki o
join student s on s.idstup = o.idstud
join Gruppai g on d.idgrup = s.idgrup
group by g.idgrup, g.gruppa


Jack128_   (2008-04-13 21:26:00) [3]

По идее - твой запрос вообще - не должен выполняться, так как нет кляузы group by.

select avg(o.ocenka), g.idgrup, max(g.gruppa)
from ocenki o
 join student s on s.idstup = o.idstud
 join Gruppai g on d.idgrup = s.idgrup
group by g.idgrup


Наверх

Титульная страница Поиск, карта сайта Написать письмо