2016-01-12 32 views
1

我試圖轉換使用所有相關表的替代ID的銷售表內的貨幣(並將它們放置在相關列中,因此:項目表中的SubstituteItemKey等於mainsales中的ItemID)並指定事務值。 的這失敗的代碼段是:使用其他表中的數據轉換表中的貨幣

inner join [dbo].[Multiplier] on [dbo].[dimday].[Day] = [dbo].[Multiplier].[Day] 

的問題的結果,這段代碼是產生重複行,結果是不正確的。

回答

1

乘數可能會保留幾種貨幣的轉換率。但是,您不會將適當的貨幣加入主要銷售記錄,而是所有貨幣。因此,您可以獲得多個記錄,而不是每個事實記錄。

變化

inner join Multiplier 
    on [dbo].[dimDay].[Day] = [dbo].[Multiplier].[Day] 

喜歡的東西

inner join Multiplier 
    on [dbo].[dimDay].[Day] = [dbo].[Multiplier].[Day] 
    and [dbo].[mainsales].[Currency] = [dbo].[Multiplier].[Currency] 
+0

不,我不明白。主要銷售記錄必須以某種方式引用貨幣。否則,你會怎麼知道這些數額是什麼意思?乘數表還包含貨幣。因此,使用兩者來加入記錄。 –

+0

感謝您接受我的回答。您所謂的「貨幣」列包含貨幣符號。請注意,許多貨幣具有相同的符號(通常是美元符號$),這可能會在將更多貨幣引入到表格中時導致問題。 –