我的結果包含不同單位的總銷售量。我需要根據參考表將其帶到標準化單位。這種標準化單位可以從 KG、LBS 或 GAL 變化。
售出數量:
| 材料 | 測量單位 | 數量已售出 |
|---|---|---|
| 1910 | 公斤 | 446780 |
| 1910 | 加爾 | 5000 |
| 1911 | 加爾 | 2000 |
參考 :
| 材料 | 從單位 | ToUnits | 乘數 |
|---|---|---|---|
| 1910 | 加爾 | 磅 | 7.107 |
| 1910 | 磅 | 公斤 | 0.5 |
| 1910 | 公斤 | 磅 | 2.3 |
| 1911 | 加爾 | 磅 | 9.3 |
| 1911 | 磅 | 公斤 | .9 |
| 1911 | 公斤 | 磅 | 4.2 |
我需要 :
| 材料 | 測量單位 | 數量已售出 | 標準化_磅 | 標準化_KG | 標準化_GAL |
|---|---|---|---|---|---|
| 1910 | 公斤 | 446780 | (446780*2.3) | ||
| 1910 | 加爾 | 5000 | (5000*7.1) | ||
| 1911 | 加爾 | 2000 | (2000 * 9.3) |
uj5u.com熱心網友回復:
似乎 aConditional Aggregation與 a 一致JOIN應該可以解決問題。
Select A.Material
,A.UnitOfMeasure
,A.QuantitySold
,Standardised_Lbs = sum( case when B.ToUnits = 'Lbs' then A.QuantitySold * B.Multiplier end )
,Standardised_KG = sum( case when B.ToUnits = 'KG' then A.QuantitySold * B.Multiplier end )
,Standardised_GAl = sum( case when B.ToUnits = 'GAL' then A.QuantitySold * B.Multiplier end )
From [QuantitySold] A
Join [Reference] B on A.Material=B.Material
and A.UnitOfMeasure = B.FromUnits
Group By A.Material
,A.UnitOfMeasure
,A.QuantitySold
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/446837.html
上一篇:SQL-加入存檔表時避免完全掃描
下一篇:使用之前行中的值更新行
