我正在使用 Access 2007,需要帮助来创建查询。如果这太疯狂了,对不起!我认为越详细越好理解。我不是程序员——我希望有人能提供帮助。
我需要知道如何将非数字数据折叠/汇总/汇总到共享特征/值的单行中。我想要的就像一个交叉表查询,因为我想要来自不同行的唯一单元格值旋转/显示在沿一行的列中以获取该共享/公共值。但是,我的数据不是数字,它需要交叉表禁止的字母列标题。
数据:
- Badge_code 24 在 3 个地点生产:110、210 和 320(代表芝加哥、罗克福德和圣路易斯)
- 2 个位置的徽章代码 B9:110 和 280(芝加哥和皮奥里亚)
- 3 个位置的徽章代码 C1:200 和 210(印第安纳波利斯和罗克福德)
每个badge_code-location 组合位于单独的行中,共8 行。徽章代码的数量可以/将会增加。
我试过的查询:
Count(tbl_BadgeType.Badge_type_number) AS CountOfBadge_type_number
SELECT tbl_BadgeType.Badge_code
FROM tbl_BadgeType
GROUP BY tbl_BadgeType.Badge_code
PIVOT tbl_BadgeType.Location_production;
Badge_type_number 是用于标识每个徽章代码位置使用组合的主键。
结果:
Badge Code 110 200 210 280 320
24 1 1 1
B9 1 1
C1 1 1
列标题是数字,不能更改为交叉表中的位置名称,我想要“是”而不是“1”。(显然,它们是 1,因为它是交叉表中的计数函数,我真的不需要它......)
期望的结果:
Badge Code Chicago Indianapolis Rockford Peoria St. Louis
24 Yes No Yes No Yes
B9 Yes No No Yes No
C1 No Yes Yes No No
问题/疑问:
- 严格意义上的交叉表查询并不是我所需要的,但我不知道如何模拟它的“汇总”效果。这是 6 页晦涩难懂和 1 页有用清晰的区别。
- 如果交叉表是要走的路,那么我不知道如何将“1”值显示为“是”。我在其他查询和报告中使用 IIF 语句将 1/0 值“翻译”为“是/否”,但无法确定将 IIF 放在此查询或其报告中的哪个位置。
这有意义吗?我要求太多了吗?我有希望吗?:^)