我有一个包含复选框列(约10-15)的表,如下所示:
Race | Disability | Sexual Harrassment | ......
Yes No Yes
No Yes Yes
我想要一个包含以下内容的查询结果:
Basis | Total
Race 1
Disability 1
Sexual Harrassment 2
我不知道如何将不同的列放到一列中,我猜它是转置的,我不知道如何使用它。
答案 0 :(得分:2)
你需要一个UNION查询来取消你的数据,就像这样
SELECT
'Race' AS Basis,
[Race] AS Response
FROM YourTable
UNION ALL
SELECT
'Disability' AS Basis,
[Disability] AS Response
FROM YourTable
UNION ALL
SELECT
'Sexual Harrassment' AS Basis,
[Sexual Harrassment] AS Response
FROM YourTable
将该查询保存在Access中作为[MyDataUnpivoted],然后生成如此的总和
SELECT
Basis,
SUM(IIf(Response=True,1,0)) AS Total
FROM MyDataUnpivoted
GROUP BY Basis
答案 1 :(得分:0)
据我所知,从列到行没有简单的方法,通常人们会尝试从行到列。我能想到的唯一方法是遍历Table集合并将字段名称放入一个数组中,然后创建一个新表并将数组的内容作为记录写入其中。