数据表
查出下表:
消息:
select 姓名,sum(case 科目 when '数学 ' then 成绩 end) [数学 ],sum(case 科目 when '英语 ' then 成绩 end) [英语 ],sum(case 科目 when '语文 ' then 成绩 end) [语文 ],sum(case 科目 when '政治 ' then 成绩 end) [政治 ]
警告: 聚合或其它 SET 操作消除了空值。
select 姓名,sum(case 科目 when '数学 ' then 成绩 end) [数学 ],sum(case 科目 when '英语 ' then 成绩 end) [英语 ],sum(case 科目 when '语文 ' then 成绩 end) [语文 ],sum(case 科目 when '政治 ' then 成绩 end) [政治 ] from cj group by 姓名
sql语句:
declare @sql varchar(8000)
set @sql = 'select 姓名'
select @sql = @sql + ',sum(case 科目 when '''+科目+''' then 成绩 end) ['+科目+']'
from (select distinct 科目 from cj) as a
print @sql
select @sql = @sql+' from cj group by 姓名'
exec(@sql)
print @sql