2016-10-10 74 views
0

我想更新MS SQL中的订单表,它有两个具有相同订单ID但不同版本号的行 我想更新s_address1字段版本1行与发行版2中的数据由ORDER_ID加盟,我尝试以下SQL,但我得到一个模棱两可的表错误消息更新列从一行到另一行

update orders 
SET im1.s_address1=im2.s_address1 
FROM orders im1 
INNER JOIN orders im2 
ON im1.order_id=im2.order_id 
WHERE im1.owner_id ='SHX' AND im2.owner_id='SHX' 

请帮 感谢

+5

,而不是'更新orders'使用'更新im1'别名 – techspider

+0

可能的重复[使用SQL Server中的JOIN更新表](http://stackoverflow.com/questions/1604091/update-a-table-using-join-in-sql-server) – techspider

回答

0
update im1 
SET im1.s_address1=im2.s_address1 
FROM orders im1 
INNER JOIN orders im2 
ON im1.order_id=im2.order_id 
WHERE im1.owner_id ='SHX' AND im2.owner_id='SHX'