Конференция "Базы" » Вычисление среднего балла [D7]
 
  • Снежинка © (13.04.08 19:01) [0]
    Привет всем!
    У меня такая проблема, нужно вычислить средний балл по группам. Но когда я пишу код вот такой
    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). Между ними есть связь. Не знаю как правильно сделать Помогите мне пожалуйста.Заранее спасибо
  • Jack128_ (13.04.08 21:26) [1]
    По идее - твой запрос вообще - не должен выполняться, так как нет кляузы 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

  • Павел Калугин © (13.04.08 21:28) [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
  • sniknik © (13.04.08 22:07) [3]
    спам
 
Конференция "Базы" » Вычисление среднего балла [D7]
Есть новые Нет новых   [134432   +19][b:0][p:0.001]