0

我构建了一个 SQL 数据库来存储 SFDC 数据 = 我使用导入向导从 SFDC 中的每周导出加载数据。一些较大的对象被分成多个 csv 文件 - 作为我的新手,我最终得到了两个需要组合的表。除了合并之外,还有什么方法可以做到这一点吗?经过大量研究,这是我找到的唯一答案。我在寻找老派的“追加”——有没有可能使用这样一个简单的命令?

4

1 回答 1

1

您可以使用 INSERT 语句从一个表中选择数据并插入到另一个表中(如果该表尚不存在)。

这里有两个示例,假设每行都有一个唯一的 ID 字段。我不确定其中一个是否比另一个表现更好。

使用 aLEFT OUTER JOIN判断记录是否已经存在于主表中:

INSERT INTO dbo.SFDCData (UniqueID INT, Name VARCHAR(50), OtherColumns VARCHAR(300))
SELECT wt.ID, wt.Name, wt.OtherColumns
FROM dbo.SFDCData_WorkTable1 wt
LEFT OUTER JOIN dbo.SFDCData dest ON dest.ID = wt.ID
WHERE dest.UniqueId IS NULL --true only if name doesn't already exist in dbo.SFDCData

使用NOT IN子查询来确定记录是否已存在于主表中:

INSERT INTO dbo.SFDCData (UniqueID INT, Name VARCHAR(50), OtherColumns VARCHAR(300))
SELECT wt.ID, wt.Name, wt.OtherColumns
FROM dbo.SFDCData_WorkTable1 wt
WHERE wt.UniqueId NOT IN (Select UniqueID from dbo.SFDCData )
于 2015-12-30T00:02:03.543 回答