Używam programu SQL Server i próbuję zaktualizować wiersze z tej samej tabeli. Chcę użyć aliasu tabeli, aby zwiększyć czytelność.
W tej chwili robię to w ten sposób:
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'
Czy są łatwiejsze / lepsze sposoby?
sql-server
Realcals
źródło
źródło
FROM dbo.Rates ra INNER JOIN dbo.Rates rb ON ra.ResourceID = rb.ResourceID
- to standard, jest jaśniejszy i pozwala uniknąć niepożądanych produktów kartezjańskich, zapominając o warunku (-ach) JOIN w klauzuli WHERE ....Odpowiedzi:
Może to pomóc w poprawie wydajności.
źródło
Alias tabeli w kwerendzie aktualizacji w T-SQL (Microsoft SQL). dla MS SQL Server 2008 R2 działa dobrze
źródło