sql-server - 在 SQL Server 2005 中将字段从一个表插入到另一个表

标签 sql-server sql-server-2005 tsql

我有一个表,我需要将其中的一些数据插入到另一个表中。

我有表“Provider”和“1_MAIN - Contacts”(我知道这个名字很糟糕,在本次讨论中我们就称它为“Main”)。这 2 个表由名为“Contact_ID”的列链接。 Provider 表中的所有记录在 Main 表中都有一条匹配“Contact_ID”的记录。

“提供者”表有 4 列,分别称为“geri”、“adol”、“adult”和“pedi”。这些字段的数据类型为 bit,默认值为 0

我在“Main”中创建了 4 个同名的新列,并希望将“Provider”表中的值提取到“Main”表中。

所以基本上我想要完成的是:

如果“Main”记录在“Provider”中有记录,则从其“Provider”记录中获取“geri”、“adol”、“adult”和“pedi”列的值并将它们复制到其“主要”记录。

最佳答案

您需要UPDATE,而不是INSERT:

UPDATE m
SET geri  = p.geri
  , adol  = p.adol
  , adult = p.adult
  , pedi  = p.pedi
FROM Main m
  JOIN Provider p
    ON p.Contact_ID = m.Contact_ID

关于sql-server - 在 SQL Server 2005 中将字段从一个表插入到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904475/

相关文章:

sql - 如何在更改列字符串之前从 SQL 表中获取所有行?

sql-server - 如何使用SSMS将二进制数据插入sql server

asp.net - SQL 中函数中的无效对象名称错误

sql-server - 具有多列聚合的 SQL Server 数据透视表

sql-server - 为什么土耳其里拉符号 ₺ 被替换为 ?在 SQL Server 2008 数据库中

sql - 创建只能查看一个数据库并只能从中进行选择的用户?

sql - 删除具有相同字段值的连续行

c# - 从 Visual Studio SQL 项目创建用于测试的 LocalDB

sql - 如何从 SQL 查询生成字母数字值?

sql-server-2005 - New_Id() 和 Rand() SQLSERVER2005 之间的区别