【发布时间】:2018-06-11 02:38:12
【问题描述】:
几天来,我一直在努力解决一个查询问题,并浏览了答案,并认为我可能无法应用找到的逻辑,因为我不擅长 SQL。我有两个表,[0100] 和 [Product],需要计算每个类别的实际和预测之间的差异。我已经尝试了许多子查询,但无法让它们工作,所以我回到这个:
SELECT
Product.Description,
Sum([0100].Actual) AS Actual,
Sum([0100].Forecast) AS Forecast,
Sum(IIf([0100]![Forecast]=0,
IIf([0100]![Actual]=0,
0,
IIf([0100]![Actual]>0,9.99,-9.99)
),
([0100]![Actual]-[0100]![Forecast])/[0100]![Forecast]
)
) AS Variance
FROM
0100
INNER JOIN Product ON [0100].Category = Product.ID
GROUP BY
Product.Description;
一旦方差列正常工作,我将删除实际列和预测列,但我无法使方差列正常工作,我怀疑这是因为我需要一个子查询。经过多次尝试,我不知道如何继续。我按照以下快照在 Excel 中使用公式=IF(AND(B2=0,C2=0),0,IF(C2=0,IF(B2>0,9.99,-9.99),(B2-C2)/C2))
**Column A B C Formula
Account Group Actual Forecast Variance**
Admin & Management staff costs -8256.61 -8256.61 0%
Bank interest 0 0 0%
Care staff 4 weekly paid 268 268 0%
Care staff travel -70 -70 0%
Contracts - health & soc services -748317.97 -788317.97 -5%
Donations & fundraising -9665.69 -9465.69 2%
Fundraising & promotion 4695.68 4695.68 0%
Grants -28687 -39687 -28%
谁能提供帮助以正确获取方差查询,使其返回与 Excel 公式相同的结果?我有一个示例数据库,其中只有产品表和 0100 表,其中记录返回提供的 Excel 结果,我将查看是否可以附加/提供链接。
非常感谢,
西蒙
【问题讨论】:
-
请在问题中显示实际和预期的结果和示例表。问题(不带附件)应包含提供答案所需的所有信息。
-
总是发布错误消息或您收到的不想要的结果,但无法让它们工作没有帮助。
标签: sql excel ms-access subquery