SQL:将记录与相同的ReferenceID组合在一起

abr*_*pin 2 sql t-sql sql-server select

我的桌子里面有以下记录

ID   StudentID   Semester   Grade     
1    1           First      100
2    1           Second     90
3    2           First      90
4    1           Third      85
Run Code Online (Sandbox Code Playgroud)

我想将学生证1的所有记录合并到一个记录中

StudentID   First   Second   Third
1           100     90       85 
2           90      null     null
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Joh*_*Woo 5

既然你还没有提到你正在使用的RDBMS,那就试试吧.

SELECT  StudentID,
        MAX(CASE WHEN Semester = 'First' THEN Grade ELSE NULL END) AS First,
        MAX(CASE WHEN Semester = 'Second' THEN Grade ELSE NULL END) AS Second,
        MAX(CASE WHEN Semester = 'Third' THEN Grade ELSE NULL END) AS Third
FROM    tableName
GROUP BY StudentID
Run Code Online (Sandbox Code Playgroud)