我的表中有以下记录
ID StudentID Semester Grade
1 1 First 100
2 1 Second 90
3 2 First 90
4 1 Third 85
我想将学号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
关于SQL:合并具有相同ReferenceID的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775920/