2015-04-03 3 views
0

У меня есть две таблицы базы данных, принадлежащие разным базам данных, одна пустая и одна не пустая. Я переношу столбец данных по столбцу в пустую таблицу базы данных.Копирование данных из одного столбца в другой столбец

Сначала я передал имена, как это:

INSERT INTO [newdb].[dbo].[Person] (Name) 
    SELECT name 
    FROM [olddb].[dbo].[members] 

тогда я обновил столбец, который все NULL, как это:

UPDATE [newdb].[dbo].[Person] 
SET IsApproved = 'True' 
WHERE IsApproved IS NULL 

Теперь я хочу, чтобы обновить другую пустую колонку в новой базе данных, используя значения в старой базе данных. Можете ли вы рассказать мне, как я могу переносить значения из старой базы данных, где все ячейки имеют NULL в новой базе данных. Благодарю.

+1

брус скопировать все столбцы сразу в своем первоначальном заявлении вставки? является вашим основным ключом для пользователя и членов таблицы? – ughai

ответ

1

Запрос предназначен только для обновления: -

UPDATE New 
SET New.Caption = Old.Caption ,New.Created_By =Old.Created_By 
FROM [NewDB].Dbo.Product New 
JOIN [OldDB].Dbo.Product Old ON New.Id = Old.Id 
WHERE New.Is_Cos IS NULL 
+0

укажите полное имя в предложении обновления. Не используйте alais 'New' –

+0

@AmeyaDeshpande, Почему так? Насколько мне известно, не должно быть никаких проблем, даже если вы используете псевдоним. – Rahul

+2

Кажется, что скопировал мой ответ и переименовал столбцы –

0

Вы можете использовать JOIN. Может быть что-то вроде этого:

Внутреннего соединения ключевого слова выбирает все строки из обоего таблиц, пока есть соответствие между столбцами в обеих таблицах.

UPDATE NewTable 
SET N.Col = O.Col 
FROM [NewDB].[dbo].[NewTable] N 
INNER JOIN [OldDB].[dbo].[OldTable] O 
ON N.etc = O.etc 
WHERE N.Col IS NULL 
+0

Зачем мне нужен INNER JOIN? Спасибо. – jason

+0

Соединение используется для управления данными из 2 или более таблиц, вы можете прочитать документацию, предоставленную мной в ответ. –

+0

Большое спасибо, еще один вопрос: есть ли имя колонки для нужных столбцов? И что я должен писать для .etc? Благодарю. И жаль, что так онемели. – jason

Смежные вопросы