Credo che dovresti crearti una VIEW che associa a ciascun campo che devi modificare il relativo valore che deve prendere, quindi utilizzare la VIEW all'interno della clausola WHERE nella UPDATE:
codice:
CREATE VIEW AssociaCampi(Campo1, Campo2) AS
   SELECT TOP 1 TabellaA.campo, TabellaB.campo
   FROM TabellaA, TabellaB
   WHERE TabellaA.Codice = TabellaB.codice

UPDATE TabellaA
SET campo = AssociaCampi.Campo2
WHERE TabellaA.codice = AssociaCampi.Campo1;
O qualcosa del genere.


Ciao.