用decode
select eid , classid , studentid , examid ,
max(decode(course,'english',score,NULL)),
max(decode(course,'chinese',score,NULL)),
max(decode(course,'math',score,NULL)),
....
from table
group by eid , classid , studentid , examid
select eid , classid , studentid , examid ,
max(decode(course,'english',score,NULL)),
max(decode(course,'chinese',score,NULL)),
max(decode(course,'math',score,NULL)),
....
from table
group by eid , classid , studentid , examid
你有这方面的实例吗?因为如果例数过多,用SQL语句效果应该会好些
select eid,classid,studentid,examid,
max(decode(course,'english',score,NULL)),
max(decode(course,'chinese',score,NULL)),
max(decode(course,'math',score,NULL))
from table
group by eid
就没办法了
写程序或者存储过程吧
select studentsid,studentsname,classid,
max(decode(course,'english',score,NULL)) as english,
max(decode(course,'chinese',score,NULL)) as chinese,
max(decode(course,'math',score,NULL)) as math
from students group by studentsid,studentsname,classid