2013-11-21 205 views
1

我有一個名爲GoodsInOld表包含4列:INSERT INTO多個表的SELECT語句

GoodsInOld:  Id, CustomerAccount, CustomerName, ItemId 

由於我已經創建了2個新表來保存數據一個新的數據結構:

GoodsInGoodsInProduct

他們有像下面的關係:

GoodsIn:  Id, CustomerAccount, CustomerName ... 
GoodsInProduct: Id, ItemId, GoodsInId ... 

GoodsIn可具有1個或多個GoodsInProduct

我想用INSERT INTOSELECT INTOGoodsInOld的數據插入到這些2個表?

+0

您可以隨時使用SSIS移動數據。然後,您可以使用多投射算子將結果拆分爲任意數量的表格。 – Zane

回答

2
insert into GoodsIn (CustomerAccount, CustomerName) 
select CustomerAccount, CustomerName 
from GoodsInOld 


insert into GoodsInProduct(ItemId, GoodsInId) 
select o.ItemId, i.id 
from GoodsInOld o 
inner join GoodsIn i on o.CustomerAccount = i.CustomerAccount 
        and o.CustomerName = i.CustomerName 
+2

如果您的原始表格可能有重複項目,您可能還需要爲GoodsInOld選擇不同於GoodsInOld的客戶信息以進入GoodsIn。 –