我有这样的数据
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代码结合起来?
任何解决方案?
答案 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.[]
...