[英]What's the fastest way to INSERT loads of data from one table to another? (SQL Server 2005)
[英]Insert fields from one table to another in SQL Server 2005
我有一个表,我需要将其中的一些数据插入到另一个表中。
我有表“提供者”和“1_MAIN - 联系人”(我知道名字很糟糕,我们在本次讨论中称之为“主要”)。 这两个表由名为“Contact_ID”的列链接。 Provider表中的所有记录在Main表中都有一个匹配“Contact_ID”的记录。
“提供者”表有4列,分别称为“geri”,“adol”,“adult”和“pedi”。 这些字段是数据类型bit
,默认值为0
。
我在“Main”中创建了4个具有相同名称的新列,并希望将“Provider”表中的值拉入“Main”表。
基本上我想要完成的是:
如果“主要”记录在“提供者”中有记录,则从其“提供者”记录中获取“geri”,“adol”,“adult”和“pedi”列的值,并将其复制到“Main”中记录。
你需要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
您正在寻找“INSERT INTO ... SELECT”。 像(你需要修改这个)
Insert Into Main(geri, adol, adult, pedi)
Select p.geri, p.adol, p.adult, p.pedi
from Provider p
where p.ProviderID = Main.ProviderID
这很粗糙,因为我有一段时间没有这样做,但它应该让你相当接近。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.