SQL:组合具有相同引用ID的记录

SQL:组合具有相同引用ID的记录,sql,sql-server,tsql,select,Sql,Sql Server,Tsql,Select,我的表中有以下记录 ID StudentID Semester Grade 1 1 First 100 2 1 Second 90 3 2 First 90 4 1 Third 85 我想将学生ID 1的所有记录合并到一个记录中 StudentID First Second Third 1 100

我的表中有以下记录

ID   StudentID   Semester   Grade     
1    1           First      100
2    1           Second     90
3    2           First      90
4    1           Third      85
我想将学生ID 1的所有记录合并到一个记录中

StudentID   First   Second   Third
1           100     90       85 
2           90      null     null

有什么想法吗?

既然你没有提到你正在使用什么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

您使用的数据库管理系统是什么?神谕PostgreSQL?DB2?@MahmoudGamal让你的答案保持原样,这是一个非常好的答案。相信我。不要删除它。我投票决定取消删除<代码>:D@MahmoudGamal:我也投票取消删除。我只是想知道发布特定于SQL Server的解决方案的原因是什么,仅此而已