当前位置: 代码迷 >> Sql Server >> SQL 表更新有关问题,请大神帮忙
  详细解决方案

SQL 表更新有关问题,请大神帮忙

热度:87   发布时间:2016-04-24 09:51:20.0
SQL 表更新问题,请大神帮忙
条件2个表:

表A

ID 科目编号  科目名称
1  01 语文
2 02 数学
3 03 英语

表B

ID  科目编号  科目名称  学生编号  分数
01 01 语文   001 50
02 02 数学   001       60
03    03   英语   001       85
04 01 语文   002 70
05 02 数学   002       89
06   03    英语   002       95

如表A添加一条内容为: 4   04  化学
那么如何更新表B,每个学生多一条表A新增内容,并设置分数为0,  请各帮忙写出代码,谢谢!
------解决思路----------------------
a表上建个insert的触发器。

insert into b 
select  a.*,b.学生编号,0 as 分数 from inserted a ,(select  distinct 学生编号 from b ) b
 

------解决思路----------------------
INSERT INTO 表A VALUES(4,'04','化学')

-- 表B.ID 应该是自增列
INSERT INTO 表B (科目编号,科目名称,学生编号,分数)
SELECT a.科目编号, a.科目名称, b.学生编号, 0
  FROM 表A a,
       (SELECT DISTINCT 学生编号 FROM 表B) b
 WHERE a.ID = 4

------解决思路----------------------
insert  into  b
select  '04','化学',b.[学生编号],'0'  from 
(select  distinct 学生编号 from b ) b
  相关解决方案