Я хочу обновить значение one table
значение столбца от another table
. У меня две таблицы, то есть Users, UserProfile
У меня есть столбец MobileNumber
в обеих таблицах. Поэтому я хочу обновить Users
таблицу мобильного телефона от UserProfile
. В таблице может быть дублировано мобильное число. Поэтому я хочу избежать дублирования значения в таблице Users
. Если уже существует MobileNumber
, то нет необходимости обновлять.Запрос SQL Server для обновления одного значения столбца таблицы с другим значением таблицы
Вот мой query
update Users
set MobileNumber = up.MobileNumber
from Users u
left join UserProfile up on u.UserID = up.UserID
where up.MobileNumber not in (select ISNULL(MobileNumber, '') from Users);
Но он не работает правильно. В таблице UserProfile
есть некоторые записи, которые содержат Null
значение в MobileNumber
. Как я могу обновить этот столбец без дубликатов?
Ваш запрос работает отлично. Где проблема, с которой вы столкнулись. @ Ajay –
Прояснение пожалуйста. Есть ли 1 запись на пользователя в Пользователях и много записей на пользователя в UserProfile? –
@ P.Salmon Извините за путаницу. В таблице userprofile mobilenumber может быть одинаковой для нескольких пользователей. В UserProfile существует только одна запись для одного пользователя, например 'User.UserId = UserProfile.UserId', вы найдете только одну запись. –