2017-11-11 202 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

檢查更新查詢 –