Я использую 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'
Есть ли способы проще / лучше?
sql-server
realcals
источник
источник
FROM dbo.Rates ra INNER JOIN dbo.Rates rb ON ra.ResourceID = rb.ResourceID
- он стандартный, он более ясный, и он позволяет избежать любых нежелательных декартовых произведений, забывая условие (я) JOIN в вашем предложении WHERE ....Ответы:
Это может помочь повысить производительность.
источник
Псевдоним таблицы в запросе на обновление в T-SQL (Microsoft SQL). для MS SQL Server 2008 R2 он работает нормально
источник