繁体   English   中英

SQL Server 2008:同一列中行的更新日期

[英]SQL Server 2008: update date from row in same column

我已经看过很多这个问题了,但是我似乎无法使我的SQL正常工作,因此希望有人可以提供帮助。 我已经确认此代码可在Access中使用,但不适用于SQL Server 2008。

UPDATE shop_orders AS t1, shop_orders AS t2 
SET t1.shipstreet1 = t2.shipstreet1,
    t1.shipstreet2 = t2.shipstreet2, 
    t1.shipcity = t2.shipcity, 
    t1.shipregionstate = t2.shipregionstate
WHERE t1.orderid=3292 
  AND t2.orderid=3641;

建议吗?

在SQL Server的T-SQL中, UPDATE子句中不能有多个表,也不能为该表提供表别名。

你需要使用:

UPDATE shop_orders 
FROM shop_orders AS t2 
SET shipstreet1 = t2.shipstreet1,
    shipstreet2 = t2.shipstreet2, 
    shipcity = t2.shipcity, 
    shipregionstate = t2.shipregionstate
WHERE shop_orders.orderid = 3292 
  AND t2.orderid = 3641;

对于SQL Server,Update From的语法是不同的,相同的查询在这两种查询中均不起作用。

请参阅: 根据ID匹配从一个表到另一个表的SQL更新

有关从语法更新的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM