Вашата подзаявка изобщо не е свързана. Идентификаторът "TableA.key" в подзаявката се отнася до TableA в клаузата FROM на подзаявката, а не към целевата таблица на актуализацията (която също е TableA). Не искате да актуализирате TableA.field с резултатния набор от свързване на две таблици. Вие просто искате това:
UPDATE TableA
SET TableA.field = (SELECT TableB.field
FROM TableB
WHERE TableA.key = TableB.key)