我的数据库中有以下表格和字段:
tblProductionRecords:
pk_fldProductionRecordID,
fk_fldJobNumber_ID,
fldPartsCompleted,
tblJobs:
pk_fldJobID,
fldJobNumber
tblEmployee_ProductionRecord:
pk_fldEmp_ProdRec,
fk_fldProdRec_ID,
fk_fldEmployee_ID,
fldHours
tblEmployees:
pk_fldEmployeeID,
FldName
所以我跟踪的是给定作业的生产记录。生产记录的部分是: 零件数量。 哪些员工参与完成数量(可能是1名或更多员工,因此员工和生产记录之间的多对多关系) 每位员工花费多少小时来完成数量。
我面临的问题是跟踪报告中作业的总数量。当给定的生产记录中有一名员工处理这些数量时,会为每个员工记录添加数量。因此,让3名员工在工作中工作,其中3名员工完成了1000份工作。在我的报告中,它将显示总共3000个。
我理解创建组,页脚,标题,运行总和和Count函数(我相信)。
我怀疑我需要的是我的查询中的一个字段,它是tblEmployee_ProductionRecord中有多少记录的总和,其中fldProdRec_ID =“详细部分中的当前生产记录”。有了这个数字,我可以将3个(或多个)员工之间的总完成数量除以并计算该字段的总和。
我希望这很清楚。我并且真诚地欢迎任何帮助!
大卫
答案 0 :(得分:0)
如果我理解正确的话,你的例子(3名员工在工作中工作,每人创造1000份)在表格中将如下所示:
<强> tblEmployee_ProductionRecord:强>
pk_fldEmp_ProdRec fk_fldProdRec_ID fk_fldEmployee_ID fldHours
1 1 1 5
2 2 2 5
3 3 3 5
<强> tblProductionRecords:强>
pk_fldProductionRecordID fk_fldJobNumber_ID fldPartsCompleted
1 1 1000
2 1 1000
3 1 1000
如果是,请尝试以下查询:
SELECT
tblProductionRecords.fk_fldJobNumber_ID,
Count(tblEmployee_ProductionRecord.pk_fldEmp_ProdRec) AS EmployeeCount,
Sum(tblProductionRecords.fldPartsCompleted) AS CompletedSum
FROM
tblEmployee_ProductionRecord
INNER JOIN tblProductionRecords ON tblEmployee_ProductionRecord.fk_fldProdRec_ID
= tblProductionRecords.pk_fldProductionRecordID
GROUP BY
tblProductionRecords.fk_fldJobNumber_ID
HAVING
tblProductionRecords.fk_fldJobNumber_ID=1;
这将返回以下结果:
fk_fldJobNumber_ID EmployeeCount CompletedSum
1 3 3000
- &GT;对于第一职位,三名员工共创建了3000个部分。
这是你想要的吗?