Ну, я бы использовал псевдонимы, это хорошая привычка:
UPDATE f
SET [dbo_finance].cusip9 = AssetsC.cusip
FROM dbo_finance f
INNER JOIN AssetsC a ON f.test = a.[IssueName1]
WHERE (a.MinSecClass = 9)
Теперь это будет работать нормально, если таблица ресурсов будет возвращать только одно значение cuspid для каждой записи.Если это отношения один-ко-многим, вам, возможно, придется усложниться, чтобы действительно получить нужный ответ.
Я вижу несколько серьезных конструктивных недостатков в структуре вашей таблицы.Сначала объединяются поля, которые зависят от чего-то столь же нестабильного, как имя проблемы, и это очень плохой выбор.Вы хотите, чтобы поля PK и FK оставались неизменными.Вместо этого используйте суррогатные ключи и уникальный индекс.
Тот факт, что у вас есть поле с именем cusp9, указывает мне, что вы денормализуете данные.Вам действительно нужно это сделать?Понимаете ли вы, что это обновление должно запускаться в триггере каждый раз, когда куспид ассоциируется с изменениями MinSecClass?Кого ты денормируешь?Есть ли у вас проблемы с производительностью?Такая денормализованная таблица может быть намного сложнее запрашивать, когда вам нужны данные из нескольких из этих пронумерованных полей.Поскольку у вас уже есть данные в таблице активов, что вы получаете, кроме кошмара обслуживания, дублируя их?