数据表 A 记录的是长期来的得分情况列: 学员编号 得分 日期 1 80 2011.7
2 90 2011.7
3 100 2011.7
1 85 2011.8
2 95 2011.8
3 100 2011.8我现在是想把M里记录的学员总分数写入到B数据表,B内已经有所以学员的编号, 根据A里的记录,以学员编号为条件 写入到各自的总成绩数据表里。 请教一下 这样要怎么用?
2 90 2011.7
3 100 2011.7
1 85 2011.8
2 95 2011.8
3 100 2011.8我现在是想把M里记录的学员总分数写入到B数据表,B内已经有所以学员的编号, 根据A里的记录,以学员编号为条件 写入到各自的总成绩数据表里。 请教一下 这样要怎么用?
set 得分=A.得分
from (select 学员编号,sum(得分) as 得分 from M group by 学员编号) as A
inner join B on A.学员编号=B.学员编号
update t1 set 总分=sum(t2.总分) from B t1 inner join A t2 on t1.学员编号=t2.学员编号 group by t1.学员编号
insert into b(学员编号 , 总分) select 学员编号 , sum(得分) from a group by 学员编号--如果表B存在所有学员编号的记录,则
update b set 总分 = (select sum(得分) from a where a.学员编号 = t.学员编号 ) from b t--如果表B存在部分所有学员编号的记录,则先更新部分学员的,然后再插入不存在的。
update b set 总分 = (select sum(得分) from a where a.学员编号 = t.学员编号 ) from b t
insert into b(学员编号 , 总分) select 学员编号 , sum(得分) from a where 学员编号 not in (select 学员编号 from b) group by 学员编号
a
set
得分=b.得分
from
a,(select 学员编号,sum(得分) as 得分 from M group by 学员编号)b
on
a.学员编号=b.学员编号