您的位置:首页 > 数据库

sql 行列转换

2007-04-16 10:47 387 查看
数据表



查出下表:


消息:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: