将大量查询合并为一个

时间:2016-01-15 15:32:05

标签: ms-access-2010

我有一个简单的查询,有6个字段,其中一个是价格。在同一个查询中,我添加了15个作为别名,IFF语句返回“T”或“F”。

input_device: IIf([item]="Keyboard","T","F")

在过去,单独的查询将查看第一个,找到“T”标志,然后对这些记录的价格求和。

SELECT Sum(tmp_tbl_cost_breakdown.total_price) AS total_price_sum
FROM tmp_tbl_cost_breakdown
WHERE (((tmp_tbl_cost_breakdown.INPUT_device)="T"));

SELECT Sum(tmp_tbl_cost_breakdown.total_price) AS total_price_sum
FROM tmp_tbl_cost_breakdown
WHERE (((tmp_tbl_cost_breakdown.OUTPUT_device)="T"));

还有14个额外的查询,例如上面的两个查询,它们给出了该类别的总价格。

输入= $ 543,984 产出= 343,223美元 等等......

如何通过尽可能多的查询来完成此操作?

1 个答案:

答案 0 :(得分:0)

SELECT TOP 1 (Select .... First Secondary Query) as TC_INPUT_DEVICE,
             (Select .... Second Secondary Query) as TC_OUTPUT_DEVICE,
             (Select .... Third Secondary Query) as TC_PROCESSING_DEVICE,
             Etc
             ;

" TC"是总成本并且是必需的,或者在这种情况下,您将收到循环引用错误。

不,这不会减少代码,但它确实将它们放在一个地方,以便报告很容易。