菜鸟弱弱地打听一个SQL的问题。

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:08:24
表A“学生基本表”:原来有“名字”“班级”这两列,现在新增加一个列名字叫“总成绩”;
表B“学生成绩表”:有“名字”“语文成绩”“数学成绩”这三列;

现在要将总成绩(语文成绩+数学成绩)对号入座加到“学生成绩表”的新增列“总成绩”上面。

不过,表A和表B上面学生“名字”不一样齐:有可能表A上有的,表B上没有;也有可能表B上有的,表A上没有;还有就是表A上名字的排列和表B上名字排列得不一样。

要怎么做呢?

select 名字=isnull(表a.名字,b.名字),班级=isnull(a.班级,''),总成绩=sum(b.语文成绩+b.数据成绩) from 表A FULL JOIN (select 名字,sum(语文成绩)+sum(数学成绩) from 表B group by 名字) a ON 表A.名字=B.名字

update a set 总成绩=语文成绩+数学成绩 from a,b where a.名字=b.名字