繁体   English   中英

在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM