如何使用microsoft访问或sql pivot

时间:2017-04-14 02:09:15

标签: sql ms-access

我想使用microsoft访问或查询来更改table1

student name    course_attended date    quiz score
john            course 1    3/1/2017    98
carl            course 1    3/1/2017    90
george          course 1    3/1/2017    77
john            course 2    3/5/2017    99
carl            course 2    3/5/2017    96
george          course 2    3/5/2017    80
john            course 3    4/4/2017    77
carl            course 3    4/4/2017    80
george          course 3    4/4/2017    85

到table2

student name    course 1    course 2    course 3
john            3/1/2017    3/5/2017    4/4/2017
                98          99          95
carl            3/1/2017    3/5/2017    4/4/2017
                90          96          89
george          3/1/2017    3/5/2017    4/4/2017
                77          80          85

基本上,使用select distinct [student name]使用转换和pivot 从table1更改为table2。请帮忙。我将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果您不需要对输出进行任何计算,请尝试:

TRANSFORM First([attend_date] & Chr(13) & Chr(10) & [quiz_score]) AS Data
SELECT student_name
FROM Tablename
GROUP BY student_name
PIVOT course;

日期是保留字。不应使用保留字作为名称。另外,请避免使用名称中的空格和特殊字符/标点符号(仅限下划线异常)。

答案 1 :(得分:0)

我试过这个, TRANSFORM First([date_a]& Chr(13)& Chr(10)& [quiz_score])AS数据 SELECT student_name 来自tbl_quiz GROUP BY student_name PIVOT course_attended;

并且查询未显示quiz_score。但是,从查询结果创建的表单会显示它。 非常感谢。