2014-02-10 93 views
1

多個表中的數據複製我有三個表DimCity,產品,DimPeriod使用INSERT INTO選擇

我不得不從DimCity,P_name,P_TYPE數據C_ID從產品複製,Period_ID從DimPeriod 到FactTable。

我已經創建媒體鏈接和FactTable插入值,我寫

 INSERT INTO [FactTable] 
     ([C_ID],[Period_ID], 
[P_name], 
[P_type]) 
select 
     [C_ID] from DimCity 
     Union ALL [P_name],[P_type] from Product 
     UNION ALL [Period_ID] From DimPeriod 

,但它不工作。

+0

加入源表(在任何涉及您的ID),然後選擇。不要在這裏使用工會。聯合意味着要包含具有相同結構的表/數據集。 DimCity與產品和DimPeriod有什麼關係? –

+0

我不知道你能解釋一下如何加入然後選擇? 所有的表都是單獨的,沒有一個與另一個有關。 – SaNa3819

+0

@ SaNa3819檢查我的下面的答案 –

回答

0

試試這個

INSERT INTO [FactTable]([C_ID],[Period_ID],[P_name],[P_type]) 
    SELECT 
     [C_ID], [P_name], [P_type],[Period_ID] 
    FROM DimCity,Product,DimPeriod 

,但不推薦。

如果您有這些表之間的任何關係,那麼你可以使用加入如下:

INSERT INTO [FactTable]([C_ID],[Period_ID],[P_name],[P_type]) 
    SELECT 
     P.[C_ID], 
     Q.[P_name], Q.[P_type], 
     R.[Period_ID] 
    FROM DimCity P Join Product ON 'Condition Here' 
     Join DimPeriod ON 'Condition Here'