sql server update 的一点问题:根据相应列的元素大小改变对应列的值
平台:sql server 2000
问题描述:
-- 根据学生选课的人数修改教材选用的数量,数量为学生人数加 2
其中学生表与教材选用表分开,只需提供一般化的方法就可以了,或者给个怎么做的方向就行!
谢谢!!!!
------解决方案--------------------三个表,学生表,选课表,教材表。
在选课表上添加触发器,添加或者删除选课记录时,更新教材表中数量。
------解决方案--------------------更准确来说,班级、课程这两个表都应该加上去,然后关联获取学生的选课信息。必修课的选课信息应该先到班,除非是选修课
------解决方案--------------------你现在是有 学生表、教材选用表,应该还的加上 学生选课表,这个表里存的是学生和课程的对应关系,
另外,还需要一个表就是 教材课程表,里面存储了教材和课程的对应关系,写个大概的update语句:
update 教材选用表
set 数量 = (select count(c.学生) * 2
from 课程教材表 b
inner join 学生选课表 c
on b.课程 = c.课程
where 教材选用表.教材 = b.教材
)
------解决方案--------------------
这样,试试:
update Books
set Bcount = (select count(c.Sno) * 2
from Course b
inner join Student c
on b.Cno = c.Cno
&n