Ich verwende SQL Server und versuche, Zeilen aus derselben Tabelle heraus zu aktualisieren. Ich möchte einen Tabellenalias für die Lesbarkeit verwenden.
So mache ich es im Moment:
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'
Gibt es einfachere / bessere Wege?
sql-server
Realcals
quelle
quelle
FROM dbo.Rates ra INNER JOIN dbo.Rates rb ON ra.ResourceID = rb.ResourceID
- es ist der Standard, es ist klarer und es vermeidet unerwünschte kartesische Produkte, indem es die JOIN-Bedingung (en) in Ihrer WHERE-KlauselAntworten:
Dies kann zur Verbesserung der Leistung beitragen.
quelle
Tabellenalias in Update Query in T-SQL (Microsoft SQL). Für MS SQL Server 2008 R2 funktioniert es einwandfrei
quelle