Хороший способ использовать псевдоним таблицы в операторе обновления?

Используя SqlServer и пытаясь обновить строки из той же таблицы. Я хочу использовать псевдоним таблицы для удобства чтения. Вот как я это делаю сейчас:

UPDATE ra 
SET ra.ItemValue = rb.ItemValue
FROM dbo.Rates ra, dbo.Rates rb
WHERE ra.ResourceID = rb.ResourceID
AND ra.PriceSched = 't8'
AND rb.PriceSched = 't9'

Есть ли способы проще / лучше?

Я бы использовал правильный синтаксис ANSI JOIN FROM dbo.Rates ra INNER JOIN dbo.Rates rb ON ra.ResourceID = rb.ResourceID - это стандарт, он более четкий и позволяет избежать любых нежелательных декартовых продуктов, забывая условие (я) JOIN в вашем предложении WHERE ....

marc_s 08.11.2011 00:38

marc_s имеет хороший смысл; Я отредактировал SQL, чтобы использовать более четкий синтаксис JOIN

realcals 08.11.2011 09:41

Мне нравится использовать необязательное ключевое слово «AS» (FROM dbo.Rates AS ra) для удобства чтения.

Robert S. 28.08.2008 06:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
95
3
74 341
2

Ответы 2

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

Другие вопросы по теме