update set from 【连接查询更新】


1. 首先把这种“ update...set...from...join... where...”查询起个名字叫: 【连接查询更新】。

2. 有两种写法:

    一种是(好理解的方式),更新查询表中的数据,即更新时取查询表的别名。举例如下:

BEGIN TRAN


UPDATE a SET a.PlayerName = a.PlayerName + b.GuestName
FROM dbo.T_Order a INNER JOIN dbo.T_OrderDetail b ON a.OrderNo = b.OrderNo
WHERE a.OrderNo = '16062902957'

GO

--ROLLBACK TRAN
COMMIT TRAN

 第二种写法跟第一种类似,但更接近与传统的更新语句写法。 举例如下:

BEGIN TRAN

UPDATE T_Order SET PlayerName = o.PlayerName + od.GuestName
FROM T_Order o INNER JOIN dbo.T_OrderDetail od ON o.OrderNO = od.OrderNo
WHERE o.OrderNo = '16062902957'

--ROLLBACK TRAN
COMMIT TRAN

3. 说明:上面两种写法中红色字体的表必须是有关联的【系统默认是关联的】。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM