【发布时间】:2016-04-07 00:11:31
【问题描述】:
如何使用 SQL 计算成本我想要的是计算单个 CCODE 的成本。在此数据表中,成本属于天 (DayUID) 而不是特定的 CCODE,但我们可以根据 CCODE 的小时数提取特定 CCODE 的成本。数学计算应该就像假设 CCODE=SS1 其中 DayUID=DDD1
- CCODE = SS1 为 4 小时
- DDD1 的 CCODE 总持续时间 = 12 小时
- DayUID = DDD1 成本为 2000
所以 SS1 的成本基本上是这样计算的(4 小时 / 12 小时)* 2000 = 666.67
DayUID | DayCost | PCODE | CCODE | Duration |
---------------------------------------------
DDD1 | 2000 | TS | SS1 | 3 |
DDD1 | 2000 | TS | SS1 | 1 |
DDD1 | 2000 | TS | ST2 | 2 |
DDD1 | 2000 | P | ST2 | 6 |
DDD2 | 3000 | P | IH1 | 6.6 |
DDD2 | 3000 | U | IH1 | 4 |
DDD2 | 3000 | TS | IH2 | 1 |
DDD3 | 1200 | TU | SC1 | 7 |
DDD3 | 1200 | P | SC2 | 8 |
DDD3 | 1200 | U | CMPLT | 3 |
【问题讨论】:
-
实际上我不知道它应该如何......我的目标是找到每个 DayUID 中每个不同 CCODE 的成本。例如,DayUID = DDD1 中的 CCODE = SS1 成本为 666.67,DayUID= DDD1 中的 CCODE = ST2 为 1333.33 (8/12)*2000,DayUID=DDD2 中的 CCODE = IH1 为 (10.6/11.6)*3000 等等
-
12 小时是 DayUID = DDD1 的总小时数 DayUID=DDD2 的总小时数 = 11.6 和 DDD3 的总小时数 = 18 小时。只是在表中加起来
-
计算目标是每天不同阶段的总小时数除以 DayUID 相同的一天中的总小时数乘以成本