0
AdventureWorksデータベースを使用して別のデータベースのテストデータを生成しようとしています。次のクエリを実行すると、重複する主キーが24個生成されます。したがって、ターゲットのdbテーブルでPKをオフにしない限り、クエリは実行されません。ソースdbにはこれらの重複が含まれていません。データ転送時にSQL Serverが重複行を生成する
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;
重複が作成される理由についてのご意見はありますか? テストデータを生成する良い方法はありますか? 情報が失われても気にしないので、重複する行を削除するにはどうすればよいですか? よろしく、 デイブ
けれども、それについては全くこの文句を言わないの助けをわからない、LEFT JOINを試みることが可能性があり – Seph