declare @sql varchar(8000)
select @sql='select a.mname as 学生姓名'
select @sql=@sql+',sum(case c.fname when '''+fname+''' then b.score else null end )as '+fname from f
select @sql=@sql+' from member a left join score b on a.mid=b.mid left join f c on b.fid=c.fid group by a.mname'
print @sql
exec (@sql)
费了好劲,真麻烦,头一次搞这个东西
Select a.MName,
sum(case when b.FName='语文' then c.成绩 else 0 end) As '语文' ,
sum(case when b.FName='数学' then c.成绩 else 0 end) As '数学',
sum(case when b.FName='英语' then c.成绩 else 0 end) As '英语',
sum(case when b.FName='历史' then c.成绩 else 0 end) As '历史'
From Member a,F b,Score c
where a.MID=c.MID and c.FID=b.FID
Group By MName