Это моя ситуация:SQL Server обновление нового столбца на основе другого столбца из другой таблицы
Подсказка: COLUMN (NUMBER_IDENTITY) на 2 таблицы имеет такое же значение, но те 2 таблицы не имеет никакого отношения друг с другом (это мой выбор для моей ситуации)
состояние Ранним база
- у меня была таблица
CONTRACTS
(ID, NUMBER_IDENTITY, USER_ID) - У меня была таблица
SUB_CONTRACTS
(ID, NUMBER_IDENTITY)
СЕЙЧАС
У меня есть таблица CONTRACTS
(ID, NUMBER_IDENTITY, USER_ID)
добавить новый столбец в SUB_CONTRACTS
(ID, NUMBER_IDENTITY , USER_ID)
Моя проблема
Я должен обновить USER_ID
столбец в SUB_CONTRACTS
с тем же значением, что и в CONTRACTS
. Я могу сделать это обновление, потому что столбец из двух таблиц совпадает с NUMBER_IDENTITY
. Таким образом, SUB_CONTRACT
является дополнением к CONTRACT
.
Вопрос
Как построить функцию, процедуру или запроса в SQL Server, который будет решить мою проблему? Могу ли я создать функцию, которая одновременно обновляет весь столбец, соответствующий этому условию? Я могу решить в мини-решении с запросом, но я не могу присоединиться к этому мини-запросу, чтобы решить мою проблему.
Свободная рука, но простое обновление + соединение a'la 'UPDATE sc SET sc.user_id = c.user_id FROM sub_contracts sc Контракты JOIN c ON sc.number_identity = c.number_identity' должны сделать это. Вопрос, однако, почему вы храните идентификатор пользователя в дополнительном месте, если он всегда должен быть таким же, как и в контракте? –
@JoachimIsaksson, потому что я должен хранить некоторую информацию sub_contracts в другой таблице –