Subquery Anda tidak berkorelasi sama sekali. Pengidentifikasi "TableA.key" di subquery mengacu pada TableA dalam klausa FROM subquery, bukan tabel target pembaruan (yang kebetulan juga adalah TableA). Anda tidak ingin memperbarui TableA.field dengan kumpulan hasil gabungan dua tabel. Anda hanya menginginkan ini:
UPDATE TableA
SET TableA.field = (SELECT TableB.field
FROM TableB
WHERE TableA.key = TableB.key)