将数据从一列复制到另一列(在不同的表中)

我想将数据从一列复制到另一个表的另一列。 我怎样才能做到这一点?

我尝试了以下内容:

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

但它没有工作。

我想将联系人表的“BusinessCountry”列复制到tblindiantime表的“CountryName”列中。

在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 

这里查询:

 UPDATE table_name SET column1 = column2 

Table2.Column2 => Table1.Column1

我意识到这个问题是古老的,但接受的答案不适合我。 对于未来的谷歌,这是什么为我工作:

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

因此:

  • table1 =具有需要更新的列的表
  • table2 =具有数据列的表
  • column1 =需要来自column2的数据的空白列(这在table1中)
  • column2 =有数据的列(即在表2中)

希望你有关键字段是两张表。

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

对于我来说, 类似问题的答案对于我来说比这个 问题的答案更为正确(马克·拜尔斯(Mark Byers))。 使用Mark的答案,我更新的列在所有行中获得了相同的值(可能是匹配连接的第一行的值)。 从另一个线程使用ParveenaArora的答案用正确的值更新了列。

将Parveena的解决scheme转换为使用这个问题的表格和列名称,查询将如下(我假设这些表格通过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; 

我希望这可以帮助。

这可以通过使用不同的属性来解决。

  • 使用单元格控件单击事件。
  • select您的转置列的值。
  • 将选定的值发送到另一个文本框或任何您填写方便的级别和一个补充button来修改选定的属性。
  • 更新数据库的整个堆栈,并使用sql查询algorithm来克服这个问题,将其转换为另一列。

现在pipe理工作室2016更容易。

使用SQL Server Management Studio

将数据从一个表复制到另一个表

1.通过右键单击表格,打开要复制的列和要复制的列表,然后单击“ devise”

2.单击要复制的列的表格选项卡,然后select这些列。

3.从编辑菜单中,单击复制

4.打开一个新的查询编辑器窗口。

5.右键单击查询编辑器,然后单击编辑器中的devise查询

6.在“ 添加表格”对话框中,select源表格和目标表格,单击“ 添加” ,然后closures“ 添加表格”对话框。

7.右键单击查询编辑器的打开区域,指向更改types ,然后单击插入结果

8.在“插入结果select目标表”对话框中,select目标表。

9.在查询devise器的上部,单击源表中的源列。

10.查询devise器现在创build了一个INSERT查询。 单击确定以将查询放入原始查询编辑器窗口。

11.执行查询以将源表中的数据插入到目标表中。

有关详细信息, 请参阅https://docs.microsoft.com/zh-cn/sql/relational-databases/tables/copy-columns-from-one-table-to-another-database-engine