以下のようなものが欲しいと思います。一時テーブル @Output は、最初のテーブルに挿入された ID をキャプチャし、2 番目のテーブルに挿入するときにこれらを使用できます。
DECLARE @Output TABLE ( FirstTableID INT NOT NULL PRIMARY KEY, WarehouseCode VARCHAR(3), CustomerCode VARCHAR(4) ) INSERT INTO FirstTable (WarehouseCode, CustomerCode) OUTPUT inserted.FirstTblID, inserted.WarehouseCode, inserted.CustomerCode INTO @Output SELECT DISTINCT LEFT(LocationCode, 3) [WarehouseCode], CustomerCode FROM [PrimaryTable] INSERT INTO SecondTable (ItemCode, LocationCode, CustomerCode, FirstTblID) SELECT p.ItemCode, p.LocationCode, p.CustomerCode, o.FirstTableID FROM [PrimaryTable] p INNER JOIN @Output o ON LEFT(LocationCode, 3) = WarehouseCode AND p.CustomerCode = o.CustomerCode
プレ>