将行转换为列,根据Access中的标志保留一个字段

时间:2013-04-26 20:36:13

标签: rows flags transpose

我正在尝试找到一个我想在Access中解决的问题的答案。我可以从输入电子表格中检索以下数据:

Recid Cat1 Cat2 Cat3

1是是否

2是是是

3否是否

4是是否

5否否是

我想创建一个只包含recid的新表以及以“yes”作为值的相关类别。

Recid类别
1 Cat1
1 Cat2
2 Cat1
2 Cat2
2 Cat3
3 Cat2
4 Cat1
4 Cat2
5 Cat3

你能帮帮我吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用UNION ALL查询将列数据转换为行:

select recid, cat1 as Category
from yourtable
where cat1 = 'Yes'
union all
select recid, cat2 as category
from yourtable
where cat2 = 'Yes'
union all
select recid, cat3 as category
from yourtable
where cat3 = 'Yes'