Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обновление таблицы, соединение таблиц  [new]
Stalker16
Member

Откуда:
Сообщений: 6
Помогите пожалуйста. Особо прям не разбираюсь, но сделать надо. Есть две таблицы aa и bb. В них есть столбец name с одинаковыми именами ( типо как ключевой ). И надо заполнить столбец color, в таблице aa, на основе данных таблицы bb. Проблема в том что при обновлении если не находится такое имя в таблице аа поле color становится null (хотя какие то поля изначально заполнены) и не надо их удалять , надо заполнить только которые были изначально пустые (null). Я делал так

Update aa
Set color =
(Select color From bb
Where aa.name = bb. name)

Но в данном случае он чисто переносит столбец из bb и чистит заполненные поля. Подскажите модно ли доработать этот пример что желательно , или надо что-то другое использовать типо join
4 сен 18, 12:25    [21663763]     Ответить | Цитировать Сообщить модератору
 Re: Обновление таблицы, соединение таблиц  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Stalker16,

добавьте условие просто, которое вам необходимо соблюсти.
4 сен 18, 12:36    [21663783]     Ответить | Цитировать Сообщить модератору
 Re: Обновление таблицы, соединение таблиц  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20492
UPDATE aa
SET aa.color = bb.color
FROM bb
WHERE aa.name = bb. name
Записи из aa, не имеющие соответствия в bb, не будут обновлены.
4 сен 18, 12:36    [21663785]     Ответить | Цитировать Сообщить модератору
 Re: Обновление таблицы, соединение таблиц  [new]
demind10
Member

Откуда:
Сообщений: 17
Update aa Set color = bb.color
from aa A
inner join bb B on aa.name = bb. name;
4 сен 18, 12:36    [21663787]     Ответить | Цитировать Сообщить модератору
 Re: Обновление таблицы, соединение таблиц  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
Akina
UPDATE aa
SET aa.color = bb.color
FROM bb
WHERE aa.name = bb. name
Записи из aa, не имеющие соответствия в bb, не будут обновлены.


ТС пишет " надо заполнить только которые были изначально пустые (null)"
4 сен 18, 12:50    [21663820]     Ответить | Цитировать Сообщить модератору
 Re: Обновление таблицы, соединение таблиц  [new]
Stalker16
Member

Откуда:
Сообщений: 6
Спасибо
4 сен 18, 13:23    [21663901]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить