【发布时间】:2016-01-09 15:15:21
【问题描述】:
我想按阶段计算成本,但它不起作用我的数据如下。我正在使用这个命令来计算成本
SELECT Daily.dayno, activity.class, activity.phase,
activity.duration/sum(activity.duration)*daily.daycost as cost
from Daily INNER JOIN
(
Select activity.dailyuid, sum(activity.duration) duration
group by dailyUID
) Activity
on activity.dailyuid=daily.dailyuid
group by class, phase
显然上述查询不起作用。我想要的是例如按阶段计算成本
Dailyuid DD1 中的阶段 SS1 = 4/12*1000,其中 4 是 SS1 的总小时数,12 是 dailyuid DD1 的总小时数,1000 是 dailyuid DD1 的成本。
另一个例子是阶段 ST2 = 8/12*1000 IH=10.6/11.6*2000等
每日餐桌
DailyUID | Dayno | Daycost |
---------|-------|---------|
DD1 | 1 | 1000 |
DD2 | 2 | 2000 |
DD3 | 3 | 3000 |
活动表
DailyUID | CLASS | PHASE | Duration |
-----------------------------------
DD1 | TS | SS1 | 3 |
DD1 | TS | SS1 | 1 |
DD1 | TS | ST2 | 2 |
DD1 | P | ST2 | 6 |
DD2 | P | IH1 | 6.6 |
DD2 | U | IH1 | 4 |
DD2 | TS | IH2 | 1 |
DD3 | TU | SC1 | 7 |
DD3 | P | SC2 | 8 |
DD3 | U | CMPLT | 3 |
【问题讨论】:
-
您的查询一团糟,因此我认为您应该向我们展示您的预期输出。
-
dailyUID 在两个表中不一样。是不是笔误?
-
@LelioFaieta 很抱歉我已经纠正了
-
@rookie_coder 我说的是在第一个表中你有'DD1'和第二个'DDD1'的事实。第一次是两个字母和一个数字。第二次三个字母和一个数字。这两个永远不会加入
-
@LelioFaieta 对不起,菜鸟对我来说很难,我已经纠正了他们