如何解决将列转换为行并获取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语句,但是没有正确显示
解决方法
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
子句。
比较How to simulate UNPIVOT in Access?
,使用union query并检查 Null :
Select
T.Discharge,Abs(Sum(T.[Count])) As DischargeCount
From
(Select "DND" As Discharge,[DND] Is Not Null As [Count] From YourTable
Union ALL
Select "Other" As Discharge,[Other] Is Not Null As [Count] From YourTable
Union ALL
Select "CAP" As Discharge,[CAP] Is Not Null As [Count] From YourTable
Union ALL
Select "SAP" As Discharge,[SAP] Is Not Null As [Count] From YourTable
Union ALL
Select "DAP" As Discharge,[DAP] Is Not Null As [Count] From YourTable
Union ALL
Select "EXP" As Discharge,[EXP] Is Not Null As [Count] From YourTable) As T
Group By
T.Discharge
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。