高分求解高难度sql语句(对小弟来说),请各位老大帮忙!
表ProScore如下:
StuId StuName ProName Score
1 a 语文 70
1 a 数学 70
1 a 英语 70
2 b 语文 80
2 b 数学 80
2 b 英语 80
3 c 语文 90
3 c 数学 90
3 c 英语 90
我用下面的SQL语句:
declare @s varchar(4000)
set @s= 'select StuId '+ '学号 '+ ',StuName '+ '姓名 '
select @s=@s+ ',sum(case ProName when ' ' '+ProName+ ' ' ' then Score else 0 end) [ '+ProName+ '] '
from(select distinct ProName from ProScore) as a
set @s=@s+ ' from ProScore group by StuId,StuName '
exec(@s)
实现了如下表的显示:
学号 姓名 数学 英语 语文
1 a 70 70 70
2 b 80 80 80
3 c 90 90 90
请问应该怎样修改我的SQL语句才能实现如下显示呢?
学号 姓名 数学 英语 语文 总分 平均分
1 a 70 70 70 210 70
2 b 80 80 80 240 80