[sql-server] Update 문에서 테이블 별칭을 사용하는 좋은 방법은 무엇입니까?

SQL Server를 사용하고 있으며 동일한 테이블 내에서 행을 업데이트하려고합니다. 가독성을 위해 테이블 ​​별칭을 사용하고 싶습니다.

이것이 내가 지금하고있는 방식입니다.

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'

더 쉽고 더 좋은 방법이 있습니까?



답변

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의 경우 잘 작동합니다.

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


답변