怎么将多个表中的数据加总(其中有Master/Detail表)(50分)

  • 主题发起人 主题发起人 newnewbug
  • 开始时间 开始时间
N

newnewbug

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在做一个奖学金评定系统,其中有这样几个表:
student
id name ...
mark
id cid(课程编号) mark(分数)
gpm(体育)
id gpmmark
marol(德育)
id moralmark
  简化一些就是解决,怎么把考试成绩的平均分+德育分+体育分=totalmark?
但是其中student和mark表是一对多,和其他的表是一对一。怎样进行加总,最后是
在student中添加一个字段呢,还是添加到一个新表中?
  分数不够可以再加!!
 
select a.id,sum(b.分数)as e,c.gpm as f,d.moralmark as g,e+f+g
from student a,mark b,gpm c,marol d
where a.id=b.id and//关联
group by a.id,f,g
 
select a.id,avg(b.mark) as e ,c.gpm as f,d.moralmark as g ,e+f+g
from student a,mark b,gpm c,marol d
where a.id=b.id and b.id=c.id and c.id=d.id
order by e
关键是order by e可以吗?
 
问题还是没有解决!
高手救命!!
 
这个问题不难吧!我帮你解决!

select t.id,t1.平均分,c.gpmmark 体育分,d.moralmark 德育分,
t1.平均分+c.gpmmark+d.moralmark as 总分 from
(select a.id,avg(b.mark) 平均分 from a,b where a.id=b.id group by a.id ) T1,
c ,d where t1.id=c.id and t1.id=d.id
 
多人接受答案了。
 
后退
顶部