以下是我需要的查询的示例输出。基本上,我只想要公司分组时所有部门的最大购买金额。
对于摘要,1个部门允许购买总共50个项目。 1个部门可以有多人做购买;每个公司都可以有多个部门:
Department A - Max Purchase: 50 Items
Purchaser A - 5 Items
Purchaser B - 3 Items
Department B - Max Purchase: 60 Items
Purchaser C - 3 Items
Purchaser D - 5 Items
Purchaser E - 5 Items
Company A
Total Max Purchased Allowed: Department A + Department B (110 Items)
Total Item Purchased: Purchaser A to Purchaser E (21 Items)
当我进行查询时,它总结了Max Purchased Allowed并将其分组给购买者,因此最终得到250件而不是110件。
到目前为止我的查询:
SELECT
Trim([workcntr].[Work-Center-ID]) AS WCID,
First(Trim([workcntr].[Work-Center-Name])) AS WCDesc,
IIf(Sum([purchaser].[PLN-QTY])-Sum(Int([purchaser].[PLN-QTY]))>0,
Int(Sum([purchaser].[PLN-QTY]))+1,
Sum([purchaser].[PLN-QTY])) AS PlnQty,
Sum(DeptLoadVal.MaxPurc) AS DeptMaxPurch
FROM (workcntr
LEFT JOIN workdetl
ON workcntr.[Work-Center-ID] = workdetl.[Work-Center-ID])
LEFT JOIN ((DeptLoadVal
LEFT JOIN gateschd
ON DeptLoadVal.[G-Dept#] = deptschd.[Dept ID])
LEFT JOIN purchaser
ON gateschd.[R-TRACKING-NBR] = purchaser.[R-TRACKING-NBR])
ON workdetl.[Work-Center-Gate] = DeptLoadVal.[G-Dept#]
WHERE (((purchaser.[R-purchaser-STATUS]) Like "Y"
Or (purchaser.[R-purchaser-STATUS]) Like "M"
Or (purchaser.[R-purchaser-STATUS]) Is Null))
GROUP BY Trim([workcntr].[Work-Center-ID])
HAVING (((Trim([workcntr].[Work-Center-ID])) Not Like "431")
AND (Not (
IIf(Sum([purchaser].[PLN-QTY])-Sum(Int([purchaser].[PLN-QTY]))>0,
Int(Sum([purchaser].[PLN-QTY]))+1,
Sum([purchaser].[PLN-QTY])))
Is Null));
如何计算公司的总和?