当前位置: 代码迷 >> Sql Server >> 储存过程
  详细解决方案

储存过程

热度:150   发布时间:2016-04-27 21:51:11.0
求一个储存过程
我有这样一个表:
A                       A                                 1
A                       B                                 2
A                       C                                 3
B                       A                                 4
B                       B                                 5
B                       C                                 6
C                       A                                 7
C                       B                                 8
C                       C                                 9


现在我要生成如下的一个临时表,   如何写SQL:

S\D                   A                                 B                         C
A                       1                                 2                         3
B                       4                                 5                         6
C                       7                                 8                         9

------解决方案--------------------
参考:
create table test (姓名 char(10),课程 char(10),成绩 int)
go
insert test values( '张三 ', '语文 ',80)
insert test values( '张三 ', '数学 ',86)
insert test values( '张三 ', '英语 ',75)
insert test values( '李四 ', '语文 ',78)
insert test values( '李四 ', '数学 ',85)
insert test values( '李四 ', '英语 ',78)
select * from test
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ',sum(case 课程 when ' ' '+课程+ ' ' ' then 成绩 end) [ '+课程+ '] '
  相关解决方案