2012-04-05 67 views
1

所以我已經交了一個數據庫,我需要做一些報告來找出每場遭遇的成本。它基本上是這樣的:在第二個表中將N列中的值乘以N列?

ID  ItmQty1 ItmQty2 ItmQty3 etc... 
1  3    1  0 

我需要乘以通過一個價格表,像這樣得到的總成本:

ItmCost1 ItmCost2 ItmCost3 etc... 
21.50   10.75  3.53 

,並希望與像一個結果結束

ID ItmQty1 ItmTTL1 ItmQty2 ItmTTL2  ... EncounterTTL 
1  3  64.50   1  10.75     75.25 

只是不確定聯接如何與表之間的多對一關係一起工作。

這將在SQL Server 2008和SSRS上完成。

+0

真的有一個系列在價格表中的列通過'itemcostn'稱爲'itmcost1'?而且,如果是這樣,那麼'n'是什麼? – Sorpigal 2012-04-05 18:17:31

+0

雖然它們實際上是ITEMNAMECost,並沒有編號=(有大約30個項目 – Thildemar 2012-04-05 18:18:57

+0

SQL出錯的另一個例子:(是否有可能「從更好的來源獲得它」?否則,它是必要的編碼!(無論做什麼) – 2012-04-05 18:19:48

回答

2

那麼,你的模式有點不正規(至少可以這樣說),但它是可行的:

SELECT 
    i.ID 
, i.ItmQty1 
, i.ItmQty1 * c.ItmCost1 as ItmTTL1 
, i.ItmQty2 
, i.ItmQty2 * c.ItmCost2 as ItmTTL2 
, i.ItmQty3 
, i.ItmQty3 * c.ItmCost3 as ItmTTL3 
-- and so on 
FROM Items i 
JOIN Costs c on 1=1 
+0

這是否會工作考慮到公關冰表只有一行?該ID將只匹配項目表中的一行... – Thildemar 2012-04-05 18:29:55

+0

@Thildemar哦,我沒有注意到你的價格沒有ID ...看看修復,它應該做的伎倆。 – dasblinkenlight 2012-04-05 18:33:12

+0

工作。我只希望在這些應用程序的某些應用程序中沒有更多的SQL。其他表格=( – Thildemar 2012-04-05 19:42:55

相關問題