2

テーブル内に次のレコードがあります

ID   StudentID   Semester   Grade     
1    1           First      100
2    1           Second     90
3    2           First      90
4    1           Third      85

学籍番号1の全レコードを1つのレコードにまとめたい

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

何か案は?

4

1 に答える 1

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
于 2012-12-08T08:49:17.930 に答える