Jawaban yang diberikan di atas oleh Aaron sempurna:
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';
Hanya ingin menambahkan mengapa masalah ini terjadi di SQL Server ketika kami mencoba menggunakan alias dari tabel saat memperbarui tabel itu, di bawah ini disebutkan sintaks akan selalu memberikan kesalahan:
update tableName t
set t.name = 'books new'
where t.id = 1
kasing bisa apa saja jika Anda memperbarui satu tabel atau memperbarui saat menggunakan bergabung.
Meskipun permintaan di atas akan berfungsi dengan baik dalam PL / SQL tetapi tidak dalam SQL Server.
Cara yang benar untuk memperbarui tabel saat menggunakan alias tabel di SQL Server adalah:
update t
set t.name = 'books new'
from tableName t
where t.id = 1
Semoga ini bisa membantu semua orang mengapa kesalahan datang ke sini.
UPDATE table1 a SET a.[field] = b.[field]
- menghapus alias tidak berfungsi, jadiUPDATE table1 a SET [field] = b.[field]