我已经在Access中建立了一个数据库。我现在需要使用多个查询将数据解释为报告。问题在于每一列都是根据多个条件从源表计算得出的。
例如
----------------------------------------------------------------------
Staff Number | Sale Type | Sale Variant | Price |
-------------------------------------------------------------------
1 | Brick | 1 | £10 |
1 | Sand | 2 | £5 |
2 | Brick | 1 | £6 |
因此,我想创建一个查询,输出每个员工编号(以及员工表中的姓名),拆分每个变体和类型并对价格求和
所以
-------------------------------------------------------------------
Staff Number | Brick 1 | Brick 2 | Sand 1 | Sand 2 |
--------------------------------------------------------------------
1 | £10 | £0 | £0 | £5 |
2 | £6 | £0 | £0 | £0 |
我可以轻松地进行单独查询以分别对每一列求和,但无法将它们放入一个表或报告中。
最佳答案
您可以使用条件聚合:
select staffnumber,
max(iif(sale_type = "Brick" and sale_variant = 1, price, 0)) as brick_1,
max(iif(sale_type = "Brick" and sale_variant = 2, price, 0)) as brick_2,
max(iif(sale_type = "Sand" and sale_variant = 1, price, 0)) as sand_1,
max(iif(sale_type = "Sand" and sale_variant = 2, price, 0)) as sand_2
from t
group by staffnumber;
关于sql - 我需要根据同一查询中其他字段的多个条件对一个字段的值求和。例如,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57255792/