将数据插入SQL Server表

时间:2017-11-11 06:56:49

标签: sql-server mapping data-warehouse dimension

我有这样的数据

MAPPING table1:

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

DATA表:

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

另一个MAPPING table2:

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

DATA表:

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

这里的映射表在database2中,数据表在databaes1中 现在我在database2中有另一个dimension_location表,就像这样

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

我想像这样插入这个表

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

表示我想从database1数据表和id中选择名称我想从“ ID2 ”列 001001 中选择映射表,因为 001 < / strong>适用于ID1,另一个 001 适用于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代码结合起来?

任何解决方案?

1 个答案:

答案 0 :(得分: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.[]
...