Also wenn in der Tabelle T2 der Schlüssel nicht eindeutig ist und du den eindeutigen nicht findest, hilft dir ggf. dieses:

update T1 a set a.code =
(select min(b.kostst) from T2 b where a.firma = b.firma and a.art = b.art)

where exists

( select b.kostst from T2 b where a.firma = b.firma and a.art = b.art);