一道题目如上
一道题目如下

怎么让表格如上图1,变成如下图所示的结果

创建图1的语句给出:
------解决方案--------------------
select Class,max(case [Subject] when 'chinese'then Score else '0'end) AS chinese,
max(case [Subject] when 'math'then Score else '0'end) AS math,
max(case [Subject] when 'english'then Score else '0'end) AS english from #tb group by Class
怎么让表格如上图1,变成如下图所示的结果
创建图1的语句给出:
create table #tb
(ID int primary key,
Class nvarchar(max),
[Subject] nvarchar(max),
Score int)
insert into #tb values(1,'一(1)班','语文','98')
insert into #tb values(2,'一(1)班','数学','98')
insert into #tb values(3,'一(1)班','英语','98')
insert into #tb values(4,'一(2)班','数学','98')
insert into #tb values(5,'一(2)班','语文','98')
insert into #tb values(6,'一(2)班','英语','98')
insert into #tb values(7,'一(3)班','数学','98')
insert into #tb values(8,'一(3)班','语文','98')
insert into #tb values(9,'一(3)班','英语','98')
select * from #tb
sql
------解决方案--------------------
select Class,max(case [Subject] when 'chinese'then Score else '0'end) AS chinese,
max(case [Subject] when 'math'then Score else '0'end) AS math,
max(case [Subject] when 'english'then Score else '0'end) AS english from #tb group by Class