2014-03-13 40 views
0

我需要将三个表中的数据复制到两个表中。我想它很容易,但我无法弄清楚。如果可以的话,请帮忙。 主题:汽车品牌和车型。 我的空表结构为:TSQL。将三个表中的数据复制到两个表中

CarBrands(Id, Title) 
CarModels(Id, Title, CarBrandId) 

源表的结构是:

CarBrands(Id,Title) 
CarModels(Id,Title) 
LinkTable(Id, CarBrandId, CarModelId) 

我需要将数据复制到我的表,但我不能弄清楚如何匹配CarBrandId列。

+0

基本上你需要从CarModels/LinkTables填充CarModels(CarBrands保持)。这应该是LinkTable.CarModelId = CarModels.Id的连接;给它一个去,让我们知道你是否卡在某个地方。 – Jayvee

回答

0

感谢用户Jayve!最后我做到了! 在这种情况下,我将数据从MySQL数据库复制到MSSQL数据库。这是代码。 复制CarBrands:

SET IDENTITY_INSERT MyDb.dbo.CarBrands ON 
insert into MyDb.dbo.CarBrands(Id, Title, IsTruck) 
select id_auto, name_auto, '0' from openquery(linked_mysql,'select * from auto') 
SET IDENTITY_INSERT MyDb.dbo.CarBrands OFF 

复制CarModels:

--SET IDENTITY_INSERT MyDb.dbo.CarModels ON 
insert into MyDb.dbo.CarModels(CarBrandId, Title) 
select id_auto, name_model from openquery(linked_mysql, 'select s.id_model, s.id_auto, f.name_model from model f, com s where s.id_model = f.id_model') 
--SET IDENTITY_INSERT MyDb.dbo.CarModels OFF 
相关问题