Скопируйте данные из одного столбца в другой столбец (который находится в другой таблице)
Я хочу скопировать данные из одного столбца в другой столбец другой таблицы. Как я могу это сделать?
Я попробовал следующее:
Update tblindiantime Set CountryName =(Select contacts.BusinessCountry From contacts)
но это не сработало.
Я хочу скопировать столбец "BusinessCountry" таблицы контактов в столбец "CountryName" таблицы tblindiantime.
Ответы
Ответ 1
В SQL Server 2008 вы можете использовать обновление нескольких таблиц следующим образом:
UPDATE tblindiantime
SET tblindiantime.CountryName = contacts.BusinessCountry
FROM tblindiantime
JOIN contacts
ON -- join condition here
Вам нужно условие соединения, чтобы указать, какая строка должна быть обновлена.
Если целевая таблица в настоящее время пуста, вы должны вместо этого использовать INSERT:
INSERT INTO tblindiantime (CountryName)
SELECT BusinessCountry FROM contacts
Ответ 2
Здесь запрос:
Та же таблица:
UPDATE table_name
SET column1 = column2
Другая таблица:
UPDATE table_name1
SET column1 = (
SELECT column2
FROM table_name2
WHERE table_name1.id = table_name2.id
);
Ответ 3
Надеемся, что у вас ключевое поле - две таблицы.
UPDATE tblindiantime t
SET CountryName = (SELECT c.BusinessCountry
FROM contacts c WHERE c.Key = t.Key
)
Ответ 4
Таблица2.Column2 = > Таблица1.Column1
Я понимаю, что этот вопрос старый, но принятый ответ не сработал у меня. Для будущих гуглеров это то, что сработало для меня:
UPDATE table1
SET column1 = (
SELECT column2
FROM table2
WHERE table2.id = table1.id
);
в силу которых:
- table1 = таблица с колонкой, которая нуждается в обновлении
- table2 = таблица с столбцом с данными
- column1 = пустой столбец, которому нужны данные из столбца2 (это в таблице 1)
- column2 = столбец с данными (то есть в таблице2)
Ответ 5
Подобный ответ на вопрос работал более корректно для меня, чем этот вопрос выбрал ответ (Марк Байерс), Используя ответ "Отклик", мой обновленный столбец получил одинаковое значение во всех строках (возможно, значение из первой строки, которая соответствовала соединению). Используя ответ ParveenaArora из другого потока, обновите столбец с правильными значениями.
Преобразуя решение Parveena для использования имен таблиц и столбцов этого вопроса, запрос будет следующим: (где я предполагаю, что таблицы связаны через tblindiantime.contact_id):
UPDATE tblindiantime
SET CountryName = contacts.BusinessCountry
FROM contacts
WHERE tblindiantime.contact_id = contacts.id;
Ответ 6
Я думаю, что все предыдущие ответы верны, этот ниже код очень подходит специально, если вам нужно обновить сразу несколько строк, обратите внимание: это PL/SQL
DECLARE
CURSOR myCursor IS
Select contacts.BusinessCountry
From contacts c WHERE c.Key = t.Key;
---------------------------------------------------------------------
BEGIN
FOR resultValue IN myCursor LOOP
Update tblindiantime t
Set CountryName=resultValue.BusinessCountry
where t.key=resultValue.key;
END LOOP;
END;
Я бы хотел, чтобы это помогло.
Ответ 7
Его можно решить, используя другой атрибут.
- Используйте событие щелчка ячейки управления.
- Выберите значение столбца, которое вы переносите в столбец-фильтр.
- отправьте выбранное значение в другое текстовое поле или на уровень, который вы заполните, и дополнительную кнопку, чтобы изменить выбранное свойство.
- обновить весь стек от базы данных и сделать алгоритм с SQL-запросом, чтобы преодолеть это, чтобы перенести его в другой столбец.
Ответ 8
Теперь с административной студией 2016 проще.
Использование SQL Server Management Studio
Чтобы скопировать данные из одной таблицы в другую
1. Откройте таблицу со столбцами, которые вы хотите скопировать, и те, которые вы хотите скопировать, щелкнув правой кнопкой мыши по таблицам, а затем нажав Дизайн.
2.Щелкните вкладку таблицы с столбцами, которые вы хотите скопировать, и выберите эти столбцы.
3. В меню Изменить нажмите Скопировать.
4.Откройте новое окно редактора запросов.
5. Верните редактор запросов и нажмите Запрос дизайна в редакторе.
6. В диалоговом окне Добавить таблицу выберите исходную и целевую таблицу, нажмите Добавить, а затем закройте диалоговое окно Добавить таблицу коробка.
7. Щелкните правой кнопкой мыши открытую область редактора запросов, выберите Изменить тип, а затем нажмите Вставить результаты.
8. В диалоговом окне Выбрать целевую таблицу для вставки результатов выберите таблицу адресатов.
9. В верхней части конструктора запросов щелкните столбец источника в исходной таблице.
10. Дизайнер запросов теперь создал запрос INSERT. Нажмите "ОК", чтобы поместить запрос в исходное окно "Редактор запросов".
11. Выполните запрос, чтобы вставить данные из исходной таблицы в таблицу назначения.
Дополнительная информация https://docs.microsoft.com/en-us/sql/relational-databases/tables/copy-columns-from-one-table-to-another-database-engine