我想通過多列和ID對錶格進行求和。SQL總結多列多個列
我的表(也就是2個表的連接)看起來是這樣的:
unique_ID, year, ID1, Amount1, ID2, Amount2, ID3, Amount3, ... , ID6, Amount6;
我需要得到大量(Amount1+Amount2+...+Amount6)
的總和,其中的ID匹配(ID1=ID2=...=ID6)
。
那麼結果表是這樣的: Year, ID1(/ID2/.../ID6), Amount1 + ... + Amount6
示例數據:(用Excel製作)
Source table UID YEAR ROOM1 AMOUNT1 ROOM2 AMOUNT2 15823 2015 Material1 1 Material3 8 15298 2015 Material1 2 Material3 9 22405 2015 Material2 3 Material4 10 22403 2015 Material2 4 Material5 11 22404 2015 Material2 5 Material5 12 25417 2016 Material1 6 0 31435 2016 Material2 7 Material2 13 Result table YEAR Material AMOUNT 2015 Material1 3 2015 Material2 12 2015 Material3 17 2015 Material4 10 2015 Material5 23 2016 Material1 6 2016 Material2 20
說明: 我有一個產品,那裏有一個很大的表每個產品最多可以包含6種原料。 (ID 1-6標識材料,數量1-6顯示使用材料的數量)。材料的順序可能會有所不同。 我需要知道按年份和材料使用的材料數量。
我有一半的解決方案需要在excel中進行大量的事後處理。 是否有任何簡單而優雅的解決方案在SQL中執行?
我正在使用火鳥,但任何幫助,將不勝感激。
在此先感謝!
這看起來像壞桌子的設計。爲什麼不同欄目中的金額? –
請張貼一些樣本數據並輸出您期望的相同。 –
它是這樣設計的。每個記錄(行)是一個產品,最多6個房間的原材料。 –