首页 > 解决方案 > 将列转换为行并在 Access 中获取复选框的总和

问题描述

我有一个 Access 数据库,其中的表中有复选框。我需要得到复选框的总和,但是我想将复选框列转换为行而不是列。

以下是它在表格中的显示示例:

 Name         DND  Other  CAP   SAP   DAP   EXP
Person One    -1    -1    NULL  NULL  -1    -1
Person Two    NULL  -1    -1     -1   NULL  NULL
Person Three  NULL  -1    -1    NULL  NULL  NUll

这是我希望报告显示数据的方式:

 Discharge  Count
    DND        1
    Other      3
    CAP        2
    SAP        1
    DAP        1
    EXP        1

我尝试使用 Case 语句,但结果不正确

标签: sqlms-accessms-access-2013

解决方案


SELECT 'DND' AS Discharge, COUNT(*) AS [Count] FROM tbl WHERE DND = -1
UNION ALL
SELECT 'Other' AS Discharge, COUNT(*) AS [Count] FROM tbl WHERE Other = -1
UNION ALL

等等

我认为没有更简单的方法。

这是航空代码,不确定您是否需要GROUP BY条款。

比较如何在 Access 中模拟 UNPIVOT?


推荐阅读