【发布时间】:2017-07-12 11:11:28
【问题描述】:
我有一个查询,可以分析两个选定年份之间的成本差异。所以我总共有 3 个这样的查询;
qry_Comp_Year1(交叉表)
供应商
成本
季度
FinYear = [表格]![frm_Comparison]![cmb_comp_year1]
总计:成本总和
SQL
PARAMETERS [Forms]![frm_Comparison]![cmb_comp_year1] Text ( 255 );
TRANSFORM Sum(tbl_comparison_data.Cost) AS SumOfCost
SELECT tbl_comparison_data.Service, tbl_comparison_data.FinYear, Sum(tbl_comparison_data.cost) AS Total
FROM tbl_comparison_data
WHERE (((tbl_comparison_data.FinYear)=[Forms]![frm_Comparison]![cmb_comp_year1]))
GROUP BY tbl_comparison_data.Service, tbl_comparison_data.FinYear
PIVOT tbl_comparison_data.Quarter;
qry_Comp_Year2(交叉表)
提供者
成本
季度
FinYear = [表格]![frm_Comparison]![cmb_comp_year2]
总计:成本总和
SQL
PARAMETERS [Forms]![frm_Comparison]![cmb_comp_year2] Text ( 255 );
TRANSFORM Sum(tbl_comparison_data.Cost) AS SumOfCost
SELECT tbl_comparison_data.Service, tbl_comparison_data.FinYear, Sum(tbl_comparison_data.cost) AS Total
FROM tbl_comparison_data
WHERE (((tbl_comparison_data.FinYear)=[Forms]![frm_Comparison]![cmb_comp_year2]))
GROUP BY tbl_comparison_data.Service, tbl_comparison_data.FinYear
PIVOT tbl_comparison_data.Quarter;
查询 3(交叉表)
服务
成本(列名:qry_Comp_Year1.Total qry_Comp_Year2.Total)
差异 qry_Comp_Year2.Total - qry_Comp_Year1.Total
SQL
SELECT qry_Comp_Providers.Service, qry_Comp_Year1.Total, qry_Comp_Year2.Total, nz([qry_Comp_Year2.Total])-nz([qry_Comp_Year1.Total]) AS Difference
FROM qry_Comp_Year2 RIGHT JOIN (qry_Comp_Year1 RIGHT JOIN qry_Comp_Providers ON qry_Comp_Year1.Service = qry_Comp_Providers.Service) ON qry_Comp_Year2.Service = qry_Comp_Providers.Service;
输出
Service qry_Comp_Year1.Total qry_Comp_Year2.Total Difference
Clean 225 340 115
Service 678 374 -304
Update 400 410 10
样本数据
ID Service Cost Quarter FinYear
1 Clean 100 Q1 2015-16
2 Update 250 Q2 2015-16
3 Update 150 Q1 2015-16
4 Clean 125 Q3 2015-16
5 Service 178 Q4 2015-16
6 Service 500 Q2 2015-16
7 Clean 175 Q1 2016-17
8 Update 225 Q2 2016-17
9 Update 185 Q1 2016-17
10 Clean 165 Q3 2016-17
11 Service 187 Q4 2016-17
12 Service 187 Q2 2016-17
但是,当您查看查询 3 时,我希望成本列将年份作为列标题,以便清楚选择了哪些年份。这可能吗?
【问题讨论】:
-
编辑问题以提供 SQL 语句和示例源数据。
-
@June7 已经这样做了。
标签: ms-access