第1个回答 2011-01-24
如果FID是固定的只有1,2,3,4,可以用下面的sql实现
select MID,
sum(case when fid = 1 then score else null end) score1,
sum(case when fid = 2 then score else null end) score2,
sum(case when fid = 3 then score else null end) score3,
sum(case when fid = 4 then score else null end) score4
from tablename
group by MID本回答被提问者采纳
第2个回答 2011-01-24
select A.MID,MAX(A.FID1),MAX(A.FID2),MAX(A.FID3),MAX(A.FID4)
(SELECT MID,(case when FID=1 THEN Score else -1 end) as FID1
,(case when FID=2 THEN Score else -1 end) as FID2
,(case when FID=3 THEN Score else -1 end) as FID3
,(case when FID=4 THEN Score else -1 end) as FID4
FROM TableName
) A
GROUP BY A.MID
第3个回答 2011-01-24
select
decode(mid,'T001',score),
decode(mid,'T002',score)
from yourtablename;