2013-11-21 96 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。 –