SQL应用——希望前辈指路!

zbstone 2003-01-27 12:45:59
有三张表,student,kecheng,chengji
student的内容为
sno* sname sage weight_avg
000921 apple 19
006511 pear 21

kecheng表的内容
cno* weight cname
1 5 操作系统
2 3 安全保密
3 4 数据库
……

chengji表的内容
sno# cno# cj
000921 1 89
000921 2 78
000921 3 60
006511 2 70

我现在想通过update更新student表中的为weight_avg的内容
要求输入的值为每个不同的sno对应的cno成绩乘以kecheng中的weight之和除该sno多对应cno课程的weight之后
例如:
0000921的weight_avg应为(89×5+78×3+60×4)÷(5+3+4)对应的值。
用sql语句怎么实现阿,忘各位赐教!

另外,我还想请问各位学数据库的前辈,我现在是计算机专业的大三学生,学过数据库原理,现在想学习oracle数据库技术,还有一些相应的前端开发工具,忘指点迷津!推荐一些书和工具。谢谢!
...全文
33 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbstone 2003-01-27
  • 打赏
  • 举报
回复
我上次明明也是用的这个,怎么就不行,还说什么返回多个值之类的,郁闷。谢谢楼上的。
Lastdrop 2003-01-27
  • 打赏
  • 举报
回复
update student a set weight_avg =
( select sum(b.cj*c.weight)/sum(c.weight)
from chengji b, kecheng c
where a.sno=b.sno and b.cno=c.cno
group by b.sno
);

17,087

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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