这条SQL语句该怎么写。

am2000 2002-07-14 03:43:50
一个主表
一个明晰表:
现在要把明晰表中与主表相关的记录汇总到主表中。
譬如说有成绩表:
学生ID,课程ID,成绩
学生情况表:
学生ID,总分。
现在要把歌科成绩汇总到总分中。
不用触发器。。。。。。。。。
数据库:SQL ANYWHERE5.5
...全文
51 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoubf725 2002-07-16
  • 打赏
  • 举报
回复
我不知道你的汇总是覆盖表中原由的数据,还是插入新数据.
如果要插入:
insert into tab2
select id,sum(mark)
from tab1
group by id;


如果要覆盖:
cursor c1 is
select id,sum(mark) sum_mark
from tab1
group by id;

for rec in c1 loop
update tab2 set mark=rec.rec.sum_mark where id=rec.id;
commit;
end loop;





mmzxg 2002-07-15
  • 打赏
  • 举报
回复
yang_的写法应该可以!
SQL ANYWHERE没用过,比较孤陋寡闻!不过SQL里大概差不多吧!
newly_ignorant 2002-07-15
  • 打赏
  • 举报
回复
SQL ANYWHERE5.5?我也没有用过,但是SQL语言应该没有大的区别吧,用楼上的方法应该可以的。
Yang_ 2002-07-15
  • 打赏
  • 举报
回复
这样应该可以吧:

update 学生情况表
set 总分=(select sum(成绩) from 成绩表 where 成绩表.学生ID=学生情况表.学生ID)

xhfjy 2002-07-14
  • 打赏
  • 举报
回复
SQL ANYWHERE5.5?呵,5.5好象没用过,不敢写
Huier_lh 2002-07-14
  • 打赏
  • 举报
回复
update 学生情况表 set 学生情况表.总分=(select sum(成绩) from 成绩表 where 成绩表.学生ID=学生情况表.学生ID) where 学生情况表.学生ID=成绩表.学生ID
试一试,错了不负责,呵呵

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧