我试图找出如何从以下方面获得正确的结果。
我正在尝试创建一个Access查询,该查询采用相关人员费率从时间表数据计算员工的成本。以下是时间数据的示例:
ID EmpNo Period_Month Period_Year CostCode Workstage Line_Hours
14 11486 3 2014 C10798 000 20.00
15 11486 3 2014 C10657 000 21.50
16 11486 3 2014 C11112 000 10.00
对于此员工,可能会在不同时期设置费率:
EmpNo Period_Month Period_Year Rate
11486 1 2014 10.00
11486 3 2014 12.00
11486 6 2014 15.00
我想知道如何加入这两个表来计算成本(小时*费率)并选择正确的费率。费率从加盖后的时间段开始生效,直到输入新的费率为止。通常在SQl中我通过在连接中取得嵌入式选择的顶部项来做到这一点,但我似乎无法在Access中执行相同的操作。我还读到我可以在费率表上连接两次以获取我需要的人员费率表中的项目,但似乎无法对此应用相同的逻辑。
更新
根据要求,以下是我查询的内容。它让我了解当前和以前各个时期的所有费率,但我无法找到一种方法来获得最高价。
SELECT t.EmpNo, t.CostCode, t.Workstage, t.TimeCode_Desc, t.Line_Hours, t.Period_Month, t.Period_Year, srA.Rate
FROM (tblTime AS t LEFT JOIN qryTotalHours AS hrs ON (t.Period_Year = hrs.Period_Year) AND (t.Period_Month = hrs.Period_Month) AND (t.EmpNo = hrs.EmpNo)) LEFT JOIN tblStaffRates AS srA ON t.EmpNo = srA.EmpNo
WHERE (((t.Period_Month)>=[srA].[Period_Month]));