【发布时间】:2015-08-13 08:44:02
【问题描述】:
我有两个临时表,其中有重复项。两个表包含如下记录。
DECLARE @TempCompany TABLE (TempCompanyCode VARCHAR(100), TempCompanyName VARCHAR(100))
INSERT INTO @TempCompany VALUES ('00516','Company1')
INSERT INTO @TempCompany VALUES ('00135','Company1')
INSERT INTO @TempCompany VALUES ('00324','Company2')
INSERT INTO @TempCompany VALUES ('00566','Company2')
SELECT * FROM @TempCompany
DECLARE @TempProduct TABLE (TempProductCode VARCHAR(100), TempProductName VARCHAR(100), TempCompanyCode VARCHAR(100))
INSERT INTO @TempProduct VALUES ('001000279','Product1','00516')
INSERT INTO @TempProduct VALUES ('001000279','Product1','00135')
INSERT INTO @TempProduct VALUES ('001000300','Product2','00135')
INSERT INTO @TempProduct VALUES ('001000278','Product3','00566')
INSERT INTO @TempProduct VALUES ('001000278','Product3','00324')
INSERT INTO @TempProduct VALUES ('001000304','Product4','00566')
SELECT * FROM @TempProduct
Company 是主表,product 是子表。产品包含公司的参考。现在这些是我的临时表,我需要将这些表中的正确值插入到我的主表中。
我想插入如下记录
DECLARE @Company TABLE(CompanyID INT IDENTITY(1,1), CompanyCode VARCHAR(100), CompanyName VARCHAR(100))
INSERT INTO @Company VALUES ('00516','Company1')
DECLARE @IDOf00516 INT = @@IDENTITY
INSERT INTO @Company VALUES ('00324','Company2')
DECLARE @IDOf00324 INT = @@IDENTITY
SELECT * FROM @Company
DECLARE @Product TABLE(ProductID INT IDENTITY(1,1), ProductCode VARCHAR(100), ProductName VARCHAR(100), CompanyID INT)
INSERT INTO @Product VALUES ('001000279','Product1',@IDOf00516)
INSERT INTO @Product VALUES ('001000300','Product2',@IDOf00516)
INSERT INTO @Product VALUES ('001000278','Product3',@IDOf00324)
INSERT INTO @Product VALUES ('001000300','Product4',@IDOf00324)
SELECT * FROM @Product
我附上了以下图片,了解它在运行查询时的外观。
有人可以帮忙吗?
【问题讨论】:
标签: sql-server unique