当前位置: 代码迷 >> Sql Server >> 怎么根据一个表中的数据update另一个表
  详细解决方案

怎么根据一个表中的数据update另一个表

热度:106   发布时间:2016-04-24 10:31:00.0
如何根据一个表中的数据update另一个表?
表1:[工作量表]
    字段1:[工号]
    字段2:[工分]

表2:[员工表]
    字段1:[工号]
    字段2:[工分]

我现在需要把 [工作量表] 中的 [工分] 更新为 [工作量表].[工分]+[员工表].[工分],另外 [员工表] 里的 [工号] 有可能不在 [工作量表] 中,需要把这些新员工的 [工号] 和 [工分] 添加到 [工作量表] 中。

这么复杂的查询语句不会写,求助高手,谢谢
------解决方案--------------------
1、
update [工作量表] a , [员工表]  b set a.工分=a.工分
+b.工分 where a.工号=b.工号

2、select  * into [工作量表] from [员工表] where 工号 not in(select 工号 from  [工作量表])
------解决方案--------------------
merge 工作量表 as a
using   员工表 as b
on    a.工号=b.工号
WHEN MATCHED THEN UPDATE SET a.工分=a.工分+b.工分
WHEN NOT MATCHED THEN  INSERT VALUES(B.工号,B.工分)
 
  相关解决方案