Din underfråga är inte alls korrelerad. Identifieraren "TableA.key" i underfrågan hänvisar till TableA i underfrågans FROM-klausul, inte måltabellen för uppdateringen (som också råkar vara TabellA). Du vill inte uppdatera TableA.field med resultatuppsättningen av en två-tabells koppling. Du vill bara ha det här:
UPDATE TableA
SET TableA.field = (SELECT TableB.field
FROM TableB
WHERE TableA.key = TableB.key)