Yukarıda verilen cevap Aaron is perfect:
UPDATE a
SET a.CalculatedColumn = b.[Calculated Column]
FROM Table1 AS a
INNER JOIN Table2 AS b
ON a.CommonField = b.[Common Field]
WHERE a.BatchNo = '110';
Bu tabloyu güncellerken bir tablonun diğer adını kullanmaya çalıştığımızda bu sorunun neden SQL Server'da oluştuğunu eklemek istiyorum, aşağıda sözdizimi her zaman hata verecektir:
update tableName t
set t.name = 'books new'
where t.id = 1
Birleştirme kullanırken tek bir tabloyu güncelleştiriyorsanız veya güncelleme yapıyorsanız durum herhangi bir durum olabilir.
Yukarıdaki sorgu PL / SQL'de iyi çalışmasına rağmen SQL Server'da çalışmaz.
SQL Server'da tablo diğer adını kullanırken tabloyu güncellemenin doğru yolu:
update t
set t.name = 'books new'
from tableName t
where t.id = 1
Buraya neden hata geldiğini herkese yardımcı olacağını umuyoruz.
UPDATE table1 a SET a.[field] = b.[field]
- bir takma adı kaldırmak işe yarıyor, bu yüzdenUPDATE table1 a SET [field] = b.[field]