想知道在SQL Server中执行Excel的SUMPRODUCT有哪些选项。
我有3张桌子:
- 正在出售的项目的交易列表
- 构成每个项目的原材料
- 截至日期的原材料价格
对于每一个售出的项目(表1),我想找到该售出日期的原材料总价(表3),考虑到构成该项目的原材料的百分比。下面是示例数据。
表1:售出物品
Item | Date | Qty_sold |
---|---|---|
Pencil | 5/1/2022 | 1 |
Pencil | 6/1/2022 | 2 |
Pencil | 9/1/2022 | 1 |
表2:构成每个项目的原材料
Item | Raw_material | pct_of_total |
---|---|---|
Pencil | Wood | 70% |
Pencil | Rubber | 5% |
Pencil | Lead | 25% |
表3:按日期分列的原材料价格
Date | Raw_material | Part_unitprice |
---|---|---|
5/1/2022 | Wood | 0.20 |
6/1/2022 | Wood | 0.21 |
9/1/2022 | Wood | 0.21 |
5/1/2022 | Rubber | 0.10 |
6/1/2022 | Rubber | 0.10 |
9/1/2022 | Rubber | 0.12 |
5/1/2022 | Lead | 0.50 |
6/1/2022 | Lead | 0.55 |
9/1/2022 | Lead | 0.50 |
我要寻找的结果如下,详细程度与表1相同。
Item | Date | Qty_sold | SUMPRODUCT_unitprice |
---|---|---|---|
Pencil | 5/1/2022 | 1 | 0.27 |
Pencil | 6/1/2022 | 2 | 0.2895 |
Pencil | 9/1/2022 | 1 | 0.278 |
我的方法是
- 第一个连接表2(约3k行)&;表3(~72k行)
- 将生成的表与表1(>;2M行)连接
我意识到这两个连接需要处理的行数,我想知道是否有一种更复杂的方法。