sql - MS Access SQL:多个条件的 Sum IIF,格式为列而不是行
问题描述
我在 MS Access 365 中工作,我有一个包含多个状态的表,我想在饼图中总结这些状态。
样本数据:
销售订单# | 地位 |
---|---|
1 | 新的 |
2 | 待办的 |
3 | 关闭 |
状态由单独表中的人类可读文本定义,但在我运行查询之前链接到主表中。我有以下查询来创建表中每个状态的摘要。
SELECT
Sum(IIf(Table.Status=1,1,0)) AS ["New"],
Sum(IIf(Table.Status=2,1,0)) AS ["Pending"],
Sum(IIf(Table.Status=3,1,0)) AS ["Closed"],
FROM Table;
问题是这会将查询结果格式化为:
新的 | 待办的 | 关闭 |
---|---|---|
1 | 1 | 1 |
由于围绕 MS Access 图表的疯狂规则,饼图基于第一两列的数据,而不是其他任何内容。如何将结果重新格式化为列格式以使图表正常工作?谢谢你。
解决方案
您是否在寻找三行两列?
SELECT SWITCH(Table.Status = 1, "New",
Table.Status = 2, "Pending",
Table.Status = 3, "Closed",
1=1, "Other"
) as status,
COUNT(*)
FROM Table
GROUP BY SWITCH(Table.Status = 1, "New",
Table.Status = 2, "Pending",
Table.Status = 3, "Closed",
1=1, "Other"
);
推荐阅读
- angular - 当你有一个 SSR Web 应用程序时如何处理图像延迟加载?
- c - 在没有总线守护程序的情况下联系我的 gdbus 服务器时出错
- wordpress - 如何通过 Authorize.Net 在我的网站上添加账单地址和卡号
- python - Django 交易所
- html - 如何在同一页面上有两个具有不同帧数和大小的 css 动画
- python - 从绘图创建数据
- amazon-web-services - 在 DynamoDB 中建模父/子/子关系
- mysql - 将没有重复项(不同)的不同列加入/联合到一个新表中
- google-sheets - 如何指示一行是否包含多个新词?
- javascript - 如何将html css和js链接在一起