2017-11-11 181 views
0

我有这样的数据将数据插入SQL Server表

MAPPING表1:

ID1 NAME1 
----------- 
001  1 
002  2 

DATA表:

TID_1 TNAME_1 
------------------ 
1  ABCNAME 
2  DEFNAME 

另一个MAPPING表2:

ID2 NAME2 
-------------- 
001 1 
002 2 

DATA表:

TC_ID2 TC_NAME2 
-----------------  
    1  C_NAME 
    2  D_NAME 

这里映射表中DATABASE2和数据表是databaes1 现在我还有一个dimension_location表中这样

ID1 NAME1 ID2 NAME2 
------------------------- 

DATABASE2我想插入到这个表像这样

ID1 NAME1 ID2  NAME2 
-------------------------------- 
001 ABCNAME 001001 C_NAME 
002 DEFNAME 002002 D_NAME 

意味着我想从database1数据表中选择名称并为id我想sel ECT从这里“ID2”列映射表因为是ID1和另一个是ID2,所以我结合这些ID并插入ID2专栏中,我该怎么办呢?

insert into Dimension_location(ID1,Name1,ID2, Name2) 
select dm.ID1,dv.TNAME_1,dmp.ID2,ds.TC_NAME2from 

ba.dbo.Mappingtable1 dm , 
ba.dbo.Mappingtable2 dmp 

inner join Cen.dbo.datatable1 dv on dm.ID1=dv.TID_1 
inner join Cen.dbo.datatable2 ds on ds.ID2=dmp.TC_ID2 

现在我如何将id1代码与id2代码结合?

任何解决方案?

回答

0

您需要使用Fully Qualified Names才能编写您的查询。例如:

database_name.schema_name.object_name.column_name

这将是这样的:

SELECT * 
FROM [database1].[dbo].[MAPPING TABLE] A 
INNER JOIN [database2].[dbo].[DATA TABLE1] B 
    ON A.[] = B.[] 
... 
+0

是我多么结合ID1与ID2并插入ID2该ID?这是实际问题 –

+0

@这是什么问题?只需加入相应的表格。 – gotqn

+0

检查更新查询 –

相关问题