关于sql server:在Update语句中使用表别名的好方法吗?

关于sql server:在Update语句中使用表别名的好方法吗?

Good way to use table alias in Update statement?

我正在使用SQL Server,并尝试更新同一张表中的行。 我想使用表别名以提高可读性。

这是我目前的做法:

1
2
3
4
5
6
7
UPDATE ra
SET ra.ItemValue = rb.ItemValue
FROM dbo.Rates ra
INNER JOIN  dbo.Rates rb
ON ra.ResourceID = rb.ResourceID
WHERE ra.PriceSched = 't8'
AND rb.PriceSched = 't9'

有更简单/更好的方法吗?


1
2
3
4
5
6
7
UPDATE ra
   SET ra.ItemValue = rb.ItemValue
  FROM dbo.Rates ra
 INNER JOIN dbo.Rates rb
         ON ra.ResourceID = rb.ResourceID
WHERE ra.PriceSched = 't8'
  AND rb.PriceSched = 't9';

这可能有助于提高性能。


T-SQL(Microsoft SQL)中的更新查询中的表别名。
对于MS SQL Server 2008 R2,一切正常

1
2
UPDATE A_GeneralLedger  set ScheduleId=g.ScheduleId
from A_GeneralLedger l inner join A_AcGroup g on g.ACGroupID=l.AccountGroupID

推荐阅读