Скопировать данные из одного столбца в другой столбец (который находится в другой таблице)


Я хочу скопировать данные из одного столбца в другой столбец другой таблицы. Как я могу это сделать?

я попробовал следующий:

Update tblindiantime Set CountryName =(Select contacts.BusinessCountry From contacts) 

но это не сработало.

Я хочу скопировать столбец " BusinessCountry "таблицы контактов в столбец" CountryName " таблицы tblindiantime.

8 67
sql

8 ответов:

в SQL Server 2008 можно использовать обновление нескольких таблиц следующим образом:

UPDATE tblindiantime 
SET tblindiantime.CountryName = contacts.BusinessCountry
FROM tblindiantime 
JOIN contacts
ON -- join condition here

вам нужно условие соединения, чтобы указать, какая строка должна быть обновлена.

если целевая таблица в настоящее время пуста, то вы должны использовать вставку вместо:

INSERT INTO tblindiantime (CountryName)
SELECT BusinessCountry FROM contacts

вот запрос:

Та Же Таблица:

UPDATE table_name 
SET column1 = column2

Другой Таблице:

UPDATE table_name1 
    SET column1 = (
        SELECT column2
        FROM table_name2
        WHERE table_name1.id = table_name2.id
    );

Таблица2.Column2 = > Table1.Column1

Я понимаю, что этот вопрос старый, но принятый ответ не работа для меня. Для будущих гуглеров, это то, что сработало для меня:

UPDATE table1 
    SET column1 = (
        SELECT column2
        FROM table2
        WHERE table2.id = table1.id
    );

Whereby:

  • table1 = таблица, содержащая столбец, который необходимо обновить
  • table2 = таблица, которая имеет столбец с данными
  • column1 = пустой столбец, который нуждается в данных из column2 (это в таблица1)
  • column2 = столбец, который содержит данные (то есть в таблице 2)

надеюсь, что у вас есть ключевое поле-это две таблицы.

 UPDATE tblindiantime t
   SET CountryName = (SELECT c.BusinessCountry 
                     FROM contacts c WHERE c.Key = t.Key 
                     )

ответ на аналогичный вопрос работал более правильно для меня, чем на этот вопрос выбран ответ (Марк Байерс). Используя ответ Марка, мой обновленный столбец получил одно и то же значение во всех строках (возможно, значение из первой строки, которая соответствует соединению). Используя ответ ParveenaArora из другого потока, обновил столбец с правильными значениями.

преобразование решения Parveena для использования имен таблиц и столбцов этого вопроса, запрос будет быть следующим (где я предполагаю, что таблицы связаны через tblindiantime.contact_id):

UPDATE tblindiantime
SET CountryName = contacts.BusinessCountry
FROM contacts
WHERE tblindiantime.contact_id = contacts.id;

Я думаю, что все предыдущие ответы верны, этот ниже код очень действителен, особенно если вам нужно обновить несколько строк сразу, обратите внимание: это 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;

Я хотел бы, чтобы это могло помочь.

Она может быть решена с помощью различных атрибутов.

  • используйте событие щелчка элемента управления ячейки.
  • выберите значение столбца, которое вы транспонируете в столбец пыльника.
  • отправить выбранное значение в другое текстовое поле или уровень все, что вы заполните удобно и дополнительную кнопку, чтобы изменить выбранное свойство.
  • обновить весь стек op базы данных и сделать алгоритм с sql-запросом, чтобы преодолеть этот, чтобы транспонировать его в базу данных. другой столбец.

теперь это проще с Management studio 2016.

использование среды SQL Server Management Studio

скопировать данные из одной таблицы в другую

1.Откройте таблицу со столбцами, которые вы хотите скопировать, и ту, в которую вы хотите скопировать, щелкнув правой кнопкой мыши таблицы, а затем нажав конструкция.

2.Перейдите на вкладку таблицы со столбцами, которые требуется скопировать, и выберите эти столбцы.

3.Из Edit , нажмите скопировать.

4.Откройте новое окно редактора запросов.

5.Щелкните правой кнопкой мыши редактор запросов и выберите дизайн запроса в Редакторе.

6.In the Добавить Таблицу диалоговое окно, выберите исходную и целевую таблицы, нажмите кнопку добавить, а затем закрыть Добавить Таблицу окне.

7.Щелкните правой кнопкой мыши на открытой области редактора запросов, выберите Изменение Типа, а затем нажмите кнопку Вставить Результаты.

8.In the выберите целевую таблицу для вставки результатов диалоговое окно, выберите таблицу назначения.

9.In в верхней части конструктора запросов щелкните исходный столбец в исходной таблице.

10.Конструктор запросов теперь создал запрос вставки. Нажмите кнопку ОК, чтобы поместить запрос в исходное окно редактора запросов.

11.Выполните запрос, чтобы вставить данные из исходной таблицы в целевая таблица.

для получения дополнительной информации https://docs.microsoft.com/en-us/sql/relational-databases/tables/copy-columns-from-one-table-to-another-database-engine