Din underforespørgsel er slet ikke korreleret. Identifikationen "TableA.key" i underforespørgslen henviser til TableA i underforespørgslens FROM-klausul, ikke måltabellen for opdateringen (som tilfældigvis også er TabelA). Du ønsker ikke at opdatere TableA.field med resultatsættet af en to-table join. Du vil blot have dette:
UPDATE TableA
SET TableA.field = (SELECT TableB.field
FROM TableB
WHERE TableA.key = TableB.key)