SQL Server在传输数据时生成重复的行

时间:2011-11-09 00:38:08

标签: sql sql-server

我正在尝试使用AdventureWorks数据库为另一个数据库生成一些测试数据。当我执行以下查询时,它会生成24个重复的主键。因此,除非我关闭目标数据库表上的PK,否则查询将不会运行。源db不包含这些重复项。

INSERT INTO [TestDb] (TestId, Name, Location)
SELECT
  p.[BusinessEntityID],
  p.[FirstName]+ISNULL(p.[MiddleName], '')+p.[LastName],
  a.[City]
FROM [AdventureWorks2008R2].[Person].[Person] AS p
INNER JOIN [AdventureWorks2008R2].[Person].[BusinessEntityAddress] AS b
ON p.BusinessEntityID = b.BusinessEntityID
INNER JOIN [AdventureWorks2008R2].[Person].[Address] AS a
ON a.AddressID = b.AddressID;

有关为何创建重复项的任何建议? 有没有更好的方法来生成测试数据? 删除重复行的最佳方法是什么,因为我不在乎丢失信息? 问候, 戴夫

1 个答案:

答案 0 :(得分:0)

虽然

可能会尝试LEFT JOIN但不确定