mssql和mysql区别_MSSQL使用update join更新记录示例

更新时间:2019-01-07    来源:Mssql    手机版     字体:

【www.bbyears.com--Mssql】

数据准备

 代码如下

create table tab1(name nvarchar(20),gold int)
create table tab2(name nvarchar(20),gold int)
--data
insert into tab1 values("user1",10)
insert into tab1 values("user2",10)
insert into tab2 values("user1",20)

2.update join更新记录

 代码如下

update tab1 set gold=t1.gold+t2.gold from tab1 t1 inner join tab2 t2 on t1.name=t2.name

说明:两张表的数据一定要是一对一关系,否则更新结果可能不明确。


网上整理的两个句话

1.加回原消费金额

 代码如下 UPDATE e SET e.money = e.money + d.amount
       FROM employee e
       INNER JOIN (SELECT empid,amount=sum(amount) FROM deleted  WHERE rechargeable=1  GROUP BY empid) d  ON d.empid=e.id

      
2.扣除新消费金额

 代码如下

UPDATE e SET e.money = e.money - i.amount
       FROM employee e
       INNER JOIN (SELECT empid,amount=sum(amount) FROM inserted WHERE rechargeable=1 GROUP BY empid) i ON i.empid=e.id

本文来源:http://www.bbyears.com/shujuku/47103.html

热门标签

更多>>

本类排行