我正在使用MS Access 2016,在具有学生成绩的桌子上:所以这些字段只是studentID,Test和Score。出于报告目的,我需要生成一个CSV文件,其中包含学生的TestScore值。如果我有:
StudentID: Test: TestScore:
A123 TestA 80
A123 TestB 90
B123 TestA 70
B123 TestB 95
如何生成导出表,如下所示:
StudentID: TestA: TestB:
A123 80 90
B123 70 95
我不认为交叉表会起作用,因为并非所有表中的学生都采用了相同的测试。有几千个案例。我也已经明白,在MS Access中可能无法通过SQL实现。
非常感谢您提供任何有用的建议。
答案 0 :(得分:0)
您可以添加交叉表查询的ColumnHeadings属性,包括所有测试 - " TestA&#34 ;;" TestB&#34 ;; ...
是否只有一组数字还是可以增长?
答案 1 :(得分:0)
非常感谢安德烈和亚历克斯指导我解决这个原始问题的解决方案:
此处的表名是“输出”。
TRANSFORM Last(Output.[TestScore]) AS LastOfTestScore
SELECT Output.[StudentID]
FROM [Output]
GROUP BY Output.[StudentID]
PIVOT Output.[Test];
对于寻找类似解决方案的其他人,请注意我使用的是“Last”而不是其他内容(您可能需要First,Count等)。