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